ssh odmawia połączenia z komunikatem „no hostkey alg”

10

Moje połączenia SSH działały dobrze, ale od zeszłego tygodnia SSH z mojego laptopa na moją tablicę odmawia połączenia. Mogę nawiązać połączenie SSH z płyty głównej do laptopa, ale nie odwrotnie. Próbowałem tego z moim użytkownikiem i użytkownikiem root i miałem ten sam problem.

Mój laptop to Ubuntu 12.10, a moja płyta to Debian 6.

Oto pełne wyjście SSH:

danialbehzadi @ danial-HP: ~ $ ssh -v 192.168.1.2  
OpenSSH_5.2p1, OpenSSL 1.0.1c 10 maja 2012 r
debug1: odczyt danych konfiguracyjnych / usr / local / etc / ssh_config
debug1: Podłączanie do portu 192.168.1.2 [192.168.1.2] 22.
debug1: Połączenie ustanowione.  
debug1: plik tożsamości /home/danialbehzadi/.ssh/identity type -1  
debug1: plik tożsamości /home/danialbehzadi/.ssh/id_rsa typ 1  
debug1: plik tożsamości /home/danialbehzadi/.ssh/id_dsa typ -1  
debug1: Zdalny protokół w wersji 2.0, zdalna wersja oprogramowania OpenSSH_6.0p1 Debian-4  
debug1: dopasowanie: OpenSSH_6.0p1 Debian-4 pat OpenSSH *  
debug1: Włączanie trybu zgodności dla protokołu 2.0  
debug1: ciąg wersji lokalnej SSH-2.0-OpenSSH_5.2  
debug1: wysłano SSH2_MSG_KEXINIT  
debug1: otrzymano SSH2_MSG_KEXINIT  
debug1: kex: server-> client aes128-ctr hmac-md5 brak  
debug1: kex: client-> server aes128-ctr hmac-md5 brak  
brak klucza hosta alg
Danial Behzadi
źródło

Odpowiedzi:

8

Zrobiłem nowe klucze rsa i dsa na płycie i wszystko poszło dobrze:

~# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
~# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
Danial Behzadi
źródło
W powiązanej notatce, kiedy próbowałem połączyć się z dropbear ssh (często w Androidzie) z cygwin's sshd, otrzymałem „brak pasującego klucza hosta algo”. Serwer został skonfigurowany tak, aby akceptował klucz i hasło, więc powinien był przejść do hasła, jeśli klucz się nie powiedzie. Myślę więc, że to rozwiązanie może nie działać dla niektórych. Według tego linku ma to związek z zastosowanym algorytmem szyfrowania linksysinfo.org/index.php?threads/tomato-ssh.29460, ale nie wspomniano tam o żadnym rozwiązaniu.
barlop
1
Mieliśmy ten sam problem z serwerem Ubuntu 14.04. Po próbie uruchomienia nowej instancji serwera ssh w trybie debugowania okazało się, że klucze prywatne na serwerze nie mają uprawnień 0600, po naprawieniu i ponownym uruchomieniu serwera wszystko zaczęło działać poprawnie.
Awi,
-1

[root @ server ~] # ls -la / etc / ssh / ssh_host_ *

-rw-------. 1 root root      668 Jun 25 00:03 /etc/ssh/ssh_host_dsa_key
-rw-r--r--. 1 root root      609 Jun 25 00:03 /etc/ssh/ssh_host_dsa_key.pub
-rw-r-----. 1 root ssh_keys  227 Dec 14  2018 /etc/ssh/ssh_host_ecdsa_key
-rw-r--r--. 1 root root      162 Dec 14  2018 /etc/ssh/ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys  387 Dec 14  2018 /etc/ssh/ssh_host_ed25519_key
-rw-r--r--. 1 root root       82 Dec 14  2018 /etc/ssh/ssh_host_ed25519_key.pub
-rw-------. 1 root root      963 Apr 18  2011 /etc/ssh/ssh_host_key
-rw-r--r--. 1 root root      627 Apr 18  2011 /etc/ssh/ssh_host_key.pub
-rw-------. 1 root root     1679 Jun 25 00:02 /etc/ssh/ssh_host_rsa_key
-rw-r--r--. 1 root root      401 Jun 25 00:02 /etc/ssh/ssh_host_rsa_key.pub

upewnij się, że tryb pliku ssh_host_ * to 644 i 600 w ten sposób

Najszybszy
źródło