Comment faire pour ajouter les allowed_keys sur le serveur distant avec la clé id_rsa.pub à partir de la machine locale avec une seule commande?
L'ajout d'une clé autorisée peut être effectué d'une seule ligne de cette façon (utilisez les guillemets afin qu'ils soient interprétés avant l'envoi):
ssh user@server "echo \"`cat ~/.ssh/id_rsa.pub`\" >> .ssh/authorized_keys"
ssh-copy-id user@remote_server
Cela fait le tour:
cat ~/.ssh/id_rsa.pub | (ssh user@Host "cat >> ~/.ssh/authorized_keys")
Ajoute la clé publique locale au fichier authorized_keys
distant.
Le programme ssh-copy-id
est la méthode standard, mais la clé peut être ajoutée manuellement au fichier ~/.ssh/authorized_keys
:
cat ~/.ssh/id_rsa.pub | ssh username@Host "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
Cela ne vérifie pas si la clé existe déjà et peut entraîner des doublons.
Vous pouvez éviter certaines citations avec:
ssh user@Host tee -a .ssh/authorized_keys < ~/.ssh/id_rsa.pub
L'option la plus pratique est la commande ssh-copy-id
. Il peut ajouter la clé publique à ~/.ssh/authorized_keys
. Par exemple:
ssh-copy-id -f -i id_rsa.pub username@Host
Où:
-f
: mode forcé - copie les clés sans essayer de vérifier si elles sont déjà installées-i
: [identity_file]