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

18

Je crée une nouvelle machine Ubuntu en tant que serveur, qui est censé remplacer une ancienne par un logiciel plus ancien.

Ma question est:

Est-il possible de transférer / copier les informations d'identification (en termes de SSH) de l'ancienne machine / serveur vers la nouvelle machine?

Mon objectif est tel que la nouvelle machine devrait supplanter l'ancienne et être vue par les 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

-- Mise à 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 par mot de passe, et les suggestions sur les connexions client / serveur sont également très utiles.

tinlyx
la source
Veuillez fournir plus de détails. Les utilisateurs utilisent-ils un mot de passe ou des clés SSH? Transférez-vous les comptes d'utilisateurs et les clés publiques SSH?
AL

Réponses:

29

Les informations d'identification du serveur - qui composent les clients SSH «d'empreintes digitales» sur si elles sont incorrectes - ne sont en fait que 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 (avec leurs variantes .pub), répliquez une configuration similaire en les pointant, rechargez sshdet tout devrait fonctionner correctement.

Vous voudrez également copier les clés de pub client (que les gens ont téléchargées sur leur ~/.ssh/authorized_keysmais comme il s'agit d'une mise à niveau, vous les copiez probablement de toute façon.

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

Oli
la source
3

Vous devez ajouter le contenu de $HOME/.ssh/id_rsa.pubà l'autre serveur $HOME/.ssh/authorized_keys. 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>

Tolga Ozses
la source
Vous ne réinitialisez pas les informations d'identification basées sur SSH lorsque vous utilisezssh-copy-id
Tolga Ozses