Как удалить/игнорировать известный хост при попытке ssh без прав записи в файл known-hosts (или sudo)

Как удалить/игнорировать известный хост при попытке ssh без прав записи в файл known-hosts (или sudo)

Я не пользователь 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.

Связанный контент