mod/ssh-keys-import: make ssh-keys-import a module

This commit is contained in:
Christian Hesse 2023-04-04 16:27:23 +02:00
parent a3a7e5be4b
commit c8500dddd0
7 changed files with 149 additions and 46 deletions

View file

@ -0,0 +1,59 @@
Import ssh keys for public key authentication
=============================================
[⬅️ Go back to main README](../../README.md)
![required RouterOS version](https://img.shields.io/badge/RouterOS-7.9beta4-yellow?style=flat)
> **Info**: This module can not be used on its own but requires the base
> installation. See [main README](../../README.md) for details.
Description
-----------
RouterOS supports ssh login with public key authentication. The functions
in this module help importing the keys.
Requirements and installation
-----------------------------
Just install the module:
$ScriptInstallUpdate mod/ssh-keys-import;
Usage and invocation
--------------------
### Import single key from terminal
Call the function `$SSHKeysImport` with key and user as parameter to
import that key:
$SSHKeysImport "ssh-rsa ssh-rsa AAAAB3Nza...QYZk8= user" admin;
The third part of the key (`user` in this example) is inherited as
`key-owner` in RouterOS.
### Import several keys from file
The functions `$SSHKeysImportFile` can read an `authorized_keys`-style file
and import all the keys. The user given to the function can be overwritting
from comments in the file. Create a file `keys.pub` with this content:
```
ssh-rsa AAAAB3Nza...QYZk8= user@client
ssh-rsa AAAAB3Nza...ozyts= worker@station
# user=example
ssh-rsa AAAAB3Nza...GXQVk= person@host
```
Then import it with:
$SSHKeysImportFile keys.pub admin;
This will import the first two keys for user `admin` (as given to function)
and the third one for user `example` (as defined in comment).
---
[⬅️ Go back to main README](../../README.md)
[⬆️ Go back to top](#top)

View file

@ -1,33 +1,2 @@
Import SSH keys
===============
[⬅️ Go back to main README](../README.md)
Description
-----------
This script imports public SSH keys (files with extension "`pub`") into
local store for user authentication.
Requirements and installation
-----------------------------
Just install the script:
$ScriptInstallUpdate ssh-keys-import;
Usage and invocation
--------------------
Copy files with extension "`pub`" containing public SSH keys for your device.
Then run the script:
/system/script/run ssh-keys-import;
Starting with an `authorized_keys` file you can split it on a shell:
grep -E '^ssh-rsa' authorized_keys | nl -nrz | while read num type key name; do echo $type $key $name > $num-$name.pub; done
---
[⬅️ Go back to main README](../README.md)
[⬆️ Go back to top](#top)
This script has been replaced by a module. Please see
[Import ssh keys for public key authentication](mod/ssh-keys-import.md).