openssh запрашивает dsa

Сегодня, когда я попытался войти со своего ноутбука Linux на сервер Linux с SSH, я получил сообщение об ошибке:

ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ !

Поскольку я не менял ключи машины, я выполнил ssh -v , чтобы посмотреть, что произойдет. Я обнаружил, что мой клиент OpenSSH (SSH-2.0-OpenSSH_7.2p2) принимает "алгоритм ключа хоста: ecdsa-sha2-nistp256", в то время как в моих known_hosts есть rsa-key для соответствующего сервера ( который работал нормально до сегодняшнего дня ...)

Единственное, что могло измениться, - это версия OpenSSH.

Как я могу заставить OpenSSH снова запрашивать ключ хоста RSA?

PS: Сообщение об ошибке и некоторые предыдущие строки в соответствии с запросом:

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:k/ADO4oeYIUNdsGBEkKXkggNP5pr3t9QlYSr8GOLSd1
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ECDSA key sent by the remote host is
SHA256:k/ADO4oeYIUNdsGBEkKXkggNP5pr3t9QlYSr8GOLSd1.
Please contact your system administrator.
Add correct host key in /home/nn/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/nn/.ssh/known_hosts:51
  remove with:
  ssh-keygen -f "/home/nn/.ssh/known_hosts" -R server31
ECDSA host key for server31 has changed and you have requested strict checking.
Host key verification failed.
2
задан 14 September 2016 в 13:31
1 ответ

Вы можете запросить конкретный алгоритм ключа хоста с опцией HostKeyAlgorithms . В интерфейсе командной строки для RSA:

ssh -o HostKeyAlgorithms=ssh-rsa <server>

или в ~ / .ssh / config в конкретном разделе Host :

HostKeyAlgorithms=ssh-rsa
1
ответ дан 3 December 2019 в 12:39

Теги

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