J'ai des comptes sur deux machines: H1 et H2. J'ai créé des clés ssh sur H1 et l'ai installé sur S1. Je peux maintenant ssh à S1 de H1. Je veux faire de même de H2. Comment puis-je installer les clés ssh générées sur H1 sur H2?
Modifié: si vous possédez les deux machines, vous pouvez partager votre clé privée. Mais cette solution n'est pas sécurisée pour le cas d'un cahier volé ou pour des machines que vous ne possédez pas.
Vous pouvez copier vos clés privées de H1 à H2, si vous souhaitez utiliser la même clé privée pour pouvoir vous connecter de H2 à S1. Lorsque vous à H1 faites les commandes:
H1$ ssh H2 mkdir ~/.ssh H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Attention! Cela supprimera et remplacera toute clé privée que vous aviez au H2.
La meilleure façon est de générer de nouvelles clés privées sur H2 ( ssh-keygen
) et d'installer leur partie publique sur S1 avec ssh-copy-id
util. Dans ce cas plus sûr, vous aurez deux jeux de clés; L'un est pour la connexion H1-S1 et la seconde pour la connexion H2-S1. Il y aura deux clés publiques autorisées à S1. Et vous pourrez révoquer l'un ou l'autre (par exemple, lorsque votre cahier est volé ou si le propriétaire de la machine décide de désactiver votre compte et de réutiliser tous vos fichiers).
Utiliser ssh-copy-id
SYNOPSIS
Ssh-copy-id [-i [identity_file]] [user @] machine
LA DESCRIPTION
Ssh-copy-id est un script qui utilise ssh pour se connecter à une machine distante et ajouter le fichier d'identité indiqué au fichier ~ / .ssh / authorized_keys de cette machine.
Configurez H2 en utilisant le même processus (mais pas la même clé privée) que lorsque vous avez configuré H1:
Type: ssh-keygen -t rsa
Tapez: ssh-copy-id [email protected]
(Mais utilisez votre nom d'utilisateur réel sur le nom d'hôte S1 et S1, puis tapez votre mot de passe sur S1 lorsqu'il le demande).
Cela installe la clé publique de votre poste de travail dans le fichier ~/.ssh/authorized_keys
pour cet utilisateur sur le serveur.
Je suppose que ce que vous demandez vraiment est
Quel est le bon moyen de le faire?
Les gens ont martelé dans leur tête qu'un compte sur un serveur possède un seul nom d'utilisateur et, bien sûr, un seul mot de passe autorisé.
Les systèmes à clé publique comme ssh sont meilleurs que le système de mot de passe: un compte sur un serveur possède un seul nom d'utilisateur et n'importe quel nombre de clés publiques autorisées , toutes répertoriées dans le fichier ~/.ssh/authorized_keys
.
( Plus de détails ).
Ssh-copy-id fera-t-il le travail pour vous: http://linux.die.net/man/1/ssh-copy-id ?