Путь обновления для HostKeyAlgorithms

Я хотел бы изменить настройку по умолчанию для HostKeyAlgorithms для всех соединений SSH предпочитать ssh-ed25519 над ecdsa-sha2-nistp256, Но у меня в настоящее время есть ecdsa-sha2-nistp256 ключи хоста для многих хостов в моем known_hosts файл (около 70). Когда я подключаюсь к такому хосту с новым параметром, я получаю такое же сообщение, как если бы кто-то заменил ключ хоста на этом хосте:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:rqhdlN+Qe/GJeWoj3pyhLLSnzSCz68ZA7ds+mG4iZ7o.
Please contact your system administrator.
Add correct host key in [...]/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in [...]/.ssh/known_hosts:52
ED25519 host key for [...] has changed and you have requested strict checking.
Host key verification failed.

Теперь я предпочел бы не удалять все эти хосты из моего known_hosts файл и примите "новые" ключи ED25519 на следующем соединении. Скорее я хотел бы иметь способ продолжить с существующим содержанием этого файла. Есть какой-либо способ сделать это? Например, возвращаясь к известному ключу хоста, даже если не используется предпочтительный алгоритм. Или есть автоматический способ заменить все эти записи?

1 ответ

Решение

Я отвечал на аналогичный вопрос по Unix, поэтому, чтобы сделать его кратким, в OpenSSH 6.8+ есть вариант UpdateHostKeys, который говорит вашему клиенту, что он должен забрать все ключи хоста, предлагаемые сервером.

Это должно решить ваши проблемы.

Другие вопросы по тегам