Я получил известное предупреждающее сообщение при попытке подключиться к серверу по ssh:
$ ssh whateverhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:10
ECDSA host key for ipofmyhost has changed and you have requested strict checking.
Host key verification failed.
И я знаю почему, потому что я изменил ip такого сервера. Но если бы это было не так, как я мог бы проверить отпечаток для ключа ECDSA, отправленный удаленным хостом?
Я пытался сделать это:
echo -n ipofthehost | sha256sum
Но я не получаю тот же отпечаток. Я также пробовал "hostname, ip" вроде как в aws, но не нашел совпадения.
Если я удалю вход из моего файла known_hosts и снова попытаюсь использовать ssh, он завершится успешно и сообщит следующее:
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Итак, к чему применяется sha256sum для получения отпечатка пальца и как я могу его проверить?
Отпечаток открытого ключа - это не простой хэш строки IP.
Чтобы получить открытый ключ удаленного хоста, вы можете использовать ssh-keyscan
затем вы можете использовать обычные инструменты для извлечения его отпечатка ( ssh-keygen -lf
).
Наконец, вы можете сравнить текущий отпечаток в вашем файле known_hosts
с помощью ssh-keygen -l -F
.
Xehetasun gehiago : Abisu mezuak urruneko ostalariak bidalitako ECDSA gakoaren hatz marka aipatzen duenez ostalariaren gako publikoari (ecdsa) buruzko informazioa biltzen dugu. :
ssh-keyscan -t ecdsa ip_or_hostmane > ecdsa_file_to_compare
Orduan jakin dezakegu non ezagutzen dugun ostalarien fitxategian non dagoen gako publiko hori (ecdsa):
ssh-keygen -l -F ipofhost
Hatz aztarnak alderatu nahi baditugu, gure ezagunak_hosts fitxategiaren edukia jarri behar dugu (ostalari honi lotutako sarrera besterik ez ), ecdsa_file_from_known_hosts deitu diezaiokegu eta ondoren alderatu honela:
ssh-keygen -lf ecdsa_file_to_compare
ssh-keygen -lf ecdsa_file_from_known_hosts
Eta egiaztatu hash bera erakusten duten.
Noski, ez datoz bat, horregatik jaso nuen abisu mezua (ssh-k parekatze hori egiaztatzen du barnean). Ip aldaketari buruz ziur bagaude (beraz, ez dugu erdi-erdiko erasorik jasaten) ostalari horren sarrera ezabatu dezakegu gure known_hosts fitxategian eta hurrengoan sarrera berri bat sartuko dugun hurrengo aldirako fitxategi horretan gehituko da.