Я не пользователь sudo, пытающийся подключиться к другому серверу по ssh. Когда я это делаю, он жалуется, что ключ хоста и IP-адрес хоста изменились в соответствии с файлом known_hosts (и это действительно так). К сожалению, я не могу изменить файл known_hosts, а использование этой -o StrictHostKeyChecking=no
опции отключает аутентификацию по паролю.
решение1
Я не могу изменить
known_hosts
файл.
Если вы можете скопировать его, то вы можете изменить копию, тогда скажите ssh
использовать копию. Соответствующие опции в ssh_config
:
GlobalKnownHostsFile
Указывает один или несколько файлов для использования в глобальной базе данных ключей хоста, разделенных пробелом. Значение по умолчанию —/etc/ssh/ssh_known_hosts
,/etc/ssh/ssh_known_hosts2
.
UserKnownHostsFile
Указывает один или несколько файлов для использования в базе данных ключей хоста пользователя, разделенных пробелом. Значение по умолчанию —~/.ssh/known_hosts
,~/.ssh/known_hosts2
.
(источник)
Но ждать!Вы сказали
использование этой
-o StrictHostKeyChecking=no
опции отключает аутентификацию по паролю.
Я думаю, что это не опция, которая отключает аутентификацию по паролю. Это новый сервер не позволяет этого. Это означает, что любой подход, который позволяет вам фактически подключиться к этому конкретному серверу, не будет работать вместе с аутентификацией по паролю. Неважно, обойдёте ли вы устаревший файл known_hosts
или исправите его; сам сервер настроен так, чтобы не разрешать пароли.
Если вы уверены, что этоверносервер, затем попросите администратора сервера разрешить пароли (или, может быть, они предоставят какой-то другой способ аутентификации). Попросите локального администратора обновить файл known_hosts
.