Как перенести личность (SSH) машины на новую машину?

17

Я создаю новую машину Ubuntu в качестве сервера, которая, как предполагается, заменит старый на более старое программное обеспечение.

Мой вопрос:

Можно ли перенести / скопировать учетные данные (с точки зрения SSH) старого компьютера / сервера на новый компьютер?

Моя цель такова, что новая машина должна вытеснять старую и видеть других как одну и ту же машину при использовании SSH. Другими словами, я хочу облегчить обновление своей сети, не перезагружая учетные данные на основе SSH, если заменен один сервер (и, в частности, его ОС).

Спасибо

- Обновление -

Моя конкретная цель состояла в том, чтобы передавать учетные данные только для сервера, но я иногда использую ssh для замены пароля на основе логина, и предложения по соединениям клиент / сервер также очень полезны.

    
задан tinlyx 11.03.2015 в 11:38
источник

2 ответа

26

Учетные данные сервера, которые составляют «отпечатки пальцев», клиенты SSH, бледно говорящие о том, являются ли они неправильными, на самом деле являются просто ключевыми парами, определенными в /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

Скопируйте эти файлы (с их вариантами .pub), скопируйте аналогичную конфигурацию, указывающую на них, перезагрузите sshd , и все должно быть просто Work ™.

Вы также захотите скопировать надписью pubkeys (которые люди загрузили в ~/.ssh/authorized_keys , но поскольку это обновление, вы, вероятно, копируете их в любом случае.

И, очевидно, отпечаток пальца также зависит от имени хоста, но похоже, что вы все равно делаете.

    
ответ дан Oli 11.03.2015 в 12:35
источник
3

Вы должны добавить содержимое $HOME/.ssh/id_rsa.pub к $HOME/.ssh/authorized_keys другого сервера. К счастью, для этого есть двоичный код; %код%. Его использование прост: ssh-copy-id

    
ответ дан Tolga Ozses 11.03.2015 в 14:38