Как обновить SSHD без изменения ключа сервера?

Попробуйте команду printf:

$ printf "%e\n" 2923174917395723957
2.923175e+18

В Вашей локали это должно использовать, вместо., конечно. Можно также управлять форматом более точно, таким как:

$ printf "%.3e\n" 2923174917395723957
2.923e+18

Некоторые оболочки как удар имеют встроенный названный printf, который может отличаться от любой команды printf, которая идет с системой, но в целом Вы не должны замечать различие с простыми командами как вышеупомянутый. Можно также использовать printf от Perl, который будет довольно последователен.

$ perl -e 'printf "%.3e\n", 2923174917395723957'
2.923e+18
3
13.06.2012, 21:23
2 ответа

Просто обновление sshd обычно не будет заменять ключ хоста. Так да просто обновляют его, и это должно быть прекрасным.

Примечание: Вам обычно не будет нужно это, но если Вы хотите быть на безопасной стороне, можно создать резервное копирование ключей хоста ssh и скопировать их назад после обновления системы. Обычно необходимо было бы скопировать /etc/ssh/ssh_host*. Если что-то пошло не так, как надо, можно восстановить файлы позже.

5
27.01.2020, 21:17

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

Одним из способов решения этой проблемы является перестройка использования ssh для использования сертификатов вместо паролей и ключей. Хотя это требует некоторой работы и небольшой переделки, но это стоит того, чтобы вы захотели лучше подписывать свои серверы. Здесь есть очень хорошее руководство:

http://neocri.me/documentation/using-ssh-certificate-authentication/

В основном, вы создаете CA для серверов и CA для пользователей, а затем используете их для аутентификации клиентов и серверов соответственно. Вы все равно увидите вышеприведенное сообщение, если войдете в систему с именем пользователя/паролем, но для всех, кто входит в систему с помощью сертификатов, единственное, что имеет значение, это то, что сертификат сервера-хоста подписан серверным CA.

0
27.01.2020, 21:17

Теги

Похожие вопросы