From c8500dddd01ef10128eca0e4176050ef087a3918 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 4 Apr 2023 16:27:23 +0200 Subject: mod/ssh-keys-import: make ssh-keys-import a module --- doc/mod/ssh-keys-import.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++ doc/ssh-keys-import.md | 35 ++------------------------- 2 files changed, 61 insertions(+), 33 deletions(-) create mode 100644 doc/mod/ssh-keys-import.md (limited to 'doc') diff --git a/doc/mod/ssh-keys-import.md b/doc/mod/ssh-keys-import.md new file mode 100644 index 0000000..2f631a7 --- /dev/null +++ b/doc/mod/ssh-keys-import.md @@ -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) diff --git a/doc/ssh-keys-import.md b/doc/ssh-keys-import.md index 2dd6c42..d1325aa 100644 --- a/doc/ssh-keys-import.md +++ b/doc/ssh-keys-import.md @@ -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). -- cgit v1.2.3-54-g00ecf