На этот вопрос уже есть ответ здесь:
В настоящее время я использую Ubuntu 17.04 на моем VPS. Я хочу вернуться к 16.04, так как 17.04 подходит к концу. У меня есть несколько удаленных систем, которые автоматически входят на этот сервер с использованием авторизованных ключей. Если я начну с нуля, как я могу убедиться, что эти машины по-прежнему смогут войти на сервер. У меня нет физического доступа к удаленным машинам.
Необходимо сохранить Ваш ~/.ssh/authorized_keys
файл для пользователя Ваши другие серверы использует для входа в систему и копии это на Вашем новом VPS. Тем путем Ваши ключи SSH все еще будут допустимы, и другие серверы смогут войти в систему.
Однако с новой установкой Вы также получите новый цифровой отпечаток SSH, и хосты очень вероятно откажутся входить в Ваш новый VPS.
Для исправления этого, можно или добавить -o StrictHostKeyChecking=no
к Вашей команде SSH (или через ~/.ssh/config
) на каждом хосте - который я не рекомендую.
Или мешайте своим серверам паниковать о новом цифровом отпечатке, можно просто воссоздать его:
Учетные данные сервера, которые составляют "цифровой отпечаток" для 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
Скопируйте эти файлы в свой новый VPS (с их .pub вариантами), удостоверьтесь пути в sshd_config
укажите им и полномочиям (600
и 644
для .pubs), корректны, перезагрузка sshd
на Вашем новом VPS, и Вы по существу "клонируете" свою установку SSH.