web-dev-qa-db-fra.com

Comment transférer l'identité (SSH) d'une machine sur une nouvelle machine?

Je construis une nouvelle machine Ubuntu en tant que serveur, qui est supposé remplacer une ancienne par des logiciels plus anciens.

Ma question est:

Est-il possible de transférer/copier les informations d'identification (en termes de SSH) de l'ancien ordinateur/serveur vers le nouvel ordinateur?

Mon objectif est que la nouvelle machine remplace l’ancienne et soit vue par d’autres comme la même machine lors de l’utilisation de SSH. En d'autres termes, je souhaite faciliter la mise à niveau de mon réseau sans avoir à réinitialiser les informations d'identification basées sur SSH si un serveur (et en particulier son système d'exploitation) est remplacé.

Merci

-- Mettre à jour --

Mon objectif spécifique était de transférer les informations d'identification pour le serveur uniquement, mais j'utilise parfois ssh pour remplacer la connexion basée sur un mot de passe, et les suggestions sur les connexions client/serveur sont également très utiles.

18
tinlyx

Les informations d'identification du serveur —qui composent l'empreinte digitale “des clients SSH à propos de leur exactitude - sont en fait des paires de clés définies dans /etc/ssh/sshd_config:

# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_dsa_key
HostKey /etc/ssh/ssh_Host_ecdsa_key
HostKey /etc/ssh/ssh_Host_ed25519_key

Copiez ces fichiers par-dessus (avec leurs variantes .pub), répliquez une configuration similaire pointant vers eux, rechargez sshdname__, et tout devrait fonctionner correctement.

Vous voudrez également copier les clés publiques des clients (que les utilisateurs ont téléchargés sur leur ~/.ssh/authorized_keys, mais comme il s’agit d’une mise à niveau, vous les copiez probablement de toute façon.

Et bien évidemment, l’empreinte digitale repose sur le même nom d’hôte, mais on dirait que c’est ce que vous faites de toute façon.

29
Oli

Vous devez ajouter le contenu de $HOME/.ssh/id_rsa.pub à $HOME/.ssh/authorized_keys de l'autre serveur. Heureusement, il existe un binaire pour cela; ssh-copy-id. Son utilisation est simple: ssh-copy-id -i .ssh/id_rsa.pub <user>@<remote.server>

3
Tolga Ozses