Процесс перемещения ключей сервера SSH на новый сервер

9

В ближайшее время планируется перенести сервер на новое оборудование в новом центре обработки данных, и, конечно, это означает новый IP.

Как правильно (если это вообще возможно) переместить ключи SSH с исходного сервера на новый, чтобы подключающиеся клиенты не получали никаких предупреждений или не принимали что-либо снова?

Это вообще возможно, учитывая, что IP меняется?

Какие файлы мне нужно переместить? Я предполагаю, что все файлы ssh_host_ *.

Переход от RHEL 5 к Ubuntu 10.04.

Даниэль Хакстеп
источник

Ответы:

8

Вы можете переместить ключи от вашего текущего сервера на новый сервер без особых хлопот. Вам просто нужно убедиться, что они заходят в одно и то же место и имеют одинаковое разрешение.

В идеале, однако, вы должны воспользоваться возможностью для создания новых ключей и обновления клиентских ключей в интересах безопасности.

Майк
источник
2
Я забыл добавить, что ваши пользователи могут получить предупреждение при подключении к новому хосту, что у них уже есть хост в файле известных хостов, который совпадает с ключом, с которым они аутентифицируются. Это означает, что им придется удалить запись в своем известном файле hosts. Вы не можете обойти это.
Майк
1
Так что, если пользователи все равно могут получить предупреждение, есть ли смысл перемещать клавиши?
Даниэль Хакстеп
1
пользователи получат Waring. Это будет человек в середине сообщения атаки. Это выглядит страшно, но если вы удалите know_hosts из клиента, они получат менее страшное сообщение. Я не знаю, где-то рядом.
egorgry
5

1) Если ваши конфигурационные файлы sshd хранятся в / etc / ssh /, вам необходимо скопировать их все. Там вы найдете конфигурацию sshd, а также пару ключей хоста.

Убедитесь, что вы правильно скопировали разрешения! Sshd будет просто игнорировать ключи, которые не защищены должным образом. (Хорошо, так как незащищенный закрытый ключ - очень плохая идея.)

2) Если вы уже добавили открытые ключи удаленных хостов, которые являются доверенными и не требуют пароля для входа в систему, вам также придется скопировать эту информацию, чтобы автоматический вход снова работал сейчас. Эта информация обычно хранится в /home/-account-/.ssh/ (в авторизованном ключе). Опять же, не забывайте разрешения здесь.


Что касается изменения IP-адреса, предполагая, что удаленные клиенты действительно видят изменение в IP (вы не находитесь за каким-то обратным прокси-сервером или чем-то еще), то нет, они потребуют от пользователя снова принять сертификат. (поскольку в файле known_hosts удаленного клиента IP-адрес сервера и сертификат сервера хранились вместе) Хуже того, если вы назначите этот IP-адрес другому ssh-серверу, они могут даже получить предупреждение о нападении «человек посередине».

Поэтому имеет смысл использовать тот же (внешний) IP-адрес на новом сервере.

Arnout
источник
0

Вы не упомянули свою ОС. Я могу с уверенностью сказать, что на хосте RHEL хранятся ключи сервера в / etc / ssh. Просто скопируйте этот каталог целиком. Затем вам нужно будет сбросить sshd / перезапустить окно.

Я считаю, что пока вы подключаетесь через одно и то же DNS-имя, вы не должны получать предупреждений. Даже с новым IP.


- Кристофер Карел

Кристофер Карел
источник
Добавлено примечание о том, что ОС
Даниэль Хакстеп
1
Тогда да, / etc / ssh - это каталог, который вам нужен. Я бы порекомендовал только ключи ssh_host *. Не перемещайте файлы конфигурации. И вам захочется сделать резервную копию вещей, чтобы быть в безопасности.
Кристофер Карел