web-dev-qa-db-fra.com

Comment faire pour ajouter allowed_keys sur le serveur distant avec la clé id_rsa.pub

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?

25
shilovk

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"
30
Mose

ssh-copy-id user@remote_server

http://linux.die.net/man/1/ssh-copy-id

59
Doug

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.

24
wcochran

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.

10
user4804619

Vous pouvez éviter certaines citations avec:

ssh user@Host tee -a .ssh/authorized_keys < ~/.ssh/id_rsa.pub
0
user260532

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]
0
Miroslaw