Я много общаюсь между моими компьютерами в локальной сети и двумя учетными записями веб-хостинга, поэтому я разобрался со всеми видами шансов и заканчивается с помощью SSH, включая проблемы с аутентификацией, ssh -vчтобы узнать, где и что пошло не так.
Только что решив эту проблему и не обрадовавшись ответам, я хотел по-настоящему понять «почему» сам ...
Триггер для моего случая: установленная новая серверная ОС на работе и после установки пакета openssh-server на рабочем сервере был создан новый набор ключей хоста. Ранее все мои серверные ОС были Ubuntu, и на этот раз они поменялись на Debian (и я подозреваю, что в разрешениях есть нюансы).
Когда все операционные системы были Ubuntu, и я переустанавливаю серверную операционную систему, при первом подключении к ней SSH я получаю предупреждение такого рода, которое я предпочитаю над тихим предупреждением выше!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 06:ea:f1:f8:db:75:5c:0c:af:15:d7:99:2d:ef:08:2a. Please contact your system administrator. Add correct host key in /home/user/.ssh/known_hosts to get rid of this message. Offending key in /home/user/.ssh/known_hosts:4 RSA host key for domain.com has changed and you have requested strict checking. Host key verification failed.
Затем я открываю ~/.ssh/known_hostsна компьютере запуск ssh, удаляю эту строку, переподключаюсь, и это происходит:
chris@home ~ $ ssh work The authenticity of host '[work]:11122 ([99.85.243.208]:11122)' can't be established. ECDSA key fingerprint is 56:6d:13:be:fe:a0:29:ca:53:da:23:d6:1d:36:dd:c5. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[work]:11122 ([99.85.243.208]:11122)' (ECDSA) to the list of known hosts. Linux rock 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64
Этот бит о: 11122 - номер порта, с которого я маршрутизирую SSH на брандмауэре
Я проверил резервные копии с бывшего сервера Ubuntu и сравнил их с моей новой установкой Debian:
Ubuntu: Debian: # Package generated configuration file # Package generated configuration file # See the sshd(8) manpage for details # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for # What ports, IPs and protocols we listen for Port 22 Port 22 # Use these options to restrict which interface # Use these options to restrict which interfaces #ListenAddress :: #ListenAddress :: #ListenAddress 0.0.0.0 #ListenAddress 0.0.0.0 Protocol 2 Protocol 2 # HostKeys for protocol version 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_dsa_key ------------------------------------------------ HostKey /etc/ssh/ssh_host_ecdsa_key #Privilege Separation is turned on for security #Privilege Separation is turned on for security UsePrivilegeSeparation yes UsePrivilegeSeparation yes
Так что да, вероятно, хост недавно начал использовать ключи ecdsa, которые, основываясь на изменениях в Ubuntu, я бы обвинил в обновлении. Отказ Ubuntu от надежной Linux-ОС, на которую я рассчитывал, объясняет, почему на этот раз я установил Debian.
Я прочитал security.SE q / a на ecdsa и уже удалил эту строку с sshd_configмоего нового сервера Debian. (и побежал service ssh restart)
в моем случае я изменяю привязку сервера (ip) к домену, затем «ключ хоста ECDSA для сервера изменился». Мой путь - удалить связанную строку кэша о домене в
~ / .ssh / known_hosts. Тогда SSH работает.