Назад | Перейти на главную страницу

Не удается подключиться к ssh из-за ошибки проверки хоста

У меня проблема с подключением к моим ssh-хостам. Я получаю это сообщение в подробном режиме:

OpenSSH_7.2p2, LibreSSL 2.4.1
debug1: Reading configuration data /Users/me/.ssh/config
debug1: /Users/me/.ssh/config line 4: Applying options for *.ta.local
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to <host_name> [<host_ip>] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/me/.ssh/id_ed25519 type 4
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Debian-5+deb8u3
debug1: match: OpenSSH_6.7p1 Debian-5+deb8u3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to >host_ip>:22 as 'me'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:+Wl92PcQ6xQSAtNdxvAeBWExxDXl6NM0M4i6dUEvVA0
The authenticity of host '<host_name> (<host_ip>)' can't be established.
ECDSA key fingerprint is SHA256:+Wl92PcQ6xQSAtNdxvAeBWExxDXl6NM0M4i6dUEvVA0.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.

К вашему сведению: во вставленной трассировке я заменил имя пользователя, хост и ip ... на всякий случай, если кто-то запутается.

Вот мой ssh_config:

Host *
    SendEnv LANG LC_*

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h

Я много читал о том, что ключ хоста мог измениться с момента моего последнего входа в систему. Итак, я уже пытался удалить записи в файле known_hosts и все еще получаю эту ошибку независимо от того, какой ssh-сервер.

Есть идеи, что я здесь ошибаюсь?

Дополнительная информация: я недавно обновил mac os до sierra. Может, это связано.

Как вы, возможно, знаете, изменение отпечатка пальца может означать, что вы подвергаетесь нападению со стороны человека, поэтому сначала имейте это в виду.
Из Что такое отпечаток ключа SSH и как он создается?:

Отпечаток пальца основан на открытом ключе хоста, обычно на основе "/etc/ssh/ssh_host_rsa_key.pub". Обычно он используется для простой идентификации / проверки хоста, к которому вы подключаетесь.

Если отпечаток пальца изменился, значит компьютер, к которому вы подключаетесь, изменил свой открытый ключ. Это может быть неплохо (происходит при повторной установке ssh), но также может указывать на то, что вы подключаетесь к другому компьютеру в том же домене / IP (происходит, когда вы подключаетесь через что-то вроде балансировщика нагрузки) или что вы подвергаются атаке типа "человек посередине", когда злоумышленник каким-то образом перехватывает / перенаправляет ваше ssh-соединение для подключения к другому хосту, который может отслеживать вашего пользователя / pw.

Итак, если вы теперь уверены, что сервер безопасен, я бы предложил подключиться вручную и принять новый отпечаток пальца, поскольку это кажется самым простым решением вашей проблемы.