Saya melakukan banyak ssh-ing antara komputer LAN saya dan dua akun webhosting saya, jadi saya telah menyortir semua jenis peluang dan berakhir dengan SSH, termasuk masalah otentikasi menggunakan ssh -v
untuk melihat di mana dan apa yang salah.
Baru saja menyelesaikan masalah ini dan tidak senang dengan jawabannya, saya ingin benar-benar tahu "mengapa" saya sendiri ...
Pemicu untuk kasus saya adalah: menginstal OS server baru di tempat kerja dan setelah menginstal paket openssh-server, satu set kunci host baru dibuat di server kerja. Sebelumnya, semua OS server saya adalah Ubuntu dan kali ini berubah menjadi Debian (dan saya curiga ada perbedaan perbedaan dalam izin).
Ketika semua OS adalah Ubuntu dan saya menginstal ulang OS server, setelah SSH pertama masuk, saya mendapatkan peringatan semacam ini, yang saya lebih suka daripada peringatan diam di atas!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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.
Lalu saya buka ~/.ssh/known_hostsdi komputer yang memulai ssh, hapus baris itu, sambungkan kembali dan ini terjadi:
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
Itu sedikit tentang: 11122 adalah nomor port I rute SSH dari pada firewall
Saya memeriksa cadangan dari server Ubuntu lama dan berbeda dengan pemasangan Debian baru saya:
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
Jadi ya, sepertinya, tuan rumah mulai menggunakan kunci ecdsa baru-baru ini, yang berdasarkan perubahan Ubuntu belakangan ini, saya akan menyalahkan pembaruan. Pergeseran Ubuntu dari OS linux yang sangat saya andalkan adalah alasan mengapa saya menginstal Debian kali ini.
Saya membaca security.SE q / a di ecdsa dan telah menghapus baris itu dari sshd_config
server Debian baru saya. (dan berlari service ssh restart
)
The ECDSA host key for server has changed
. Cara saya adalah menghapus string cache terkait tentang domain di~/.ssh/known_hosts
. Kemudian ssh bekerja.