Znikąd, ssh_exchange_identification: Połączenie zamknięte przez zdalny host

14

Używam Ubuntu 10.10 na zdalnym urządzeniu. Piszę do niego codziennie bez problemów, ale dziś niespodziewanie pojawia się następujący błąd:

ssh_exchange_identification: Connection closed by remote host

Jeśli się połączę -vv, otrzymam następujące informacje:

OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/bla/.ssh/config
debug1: Applying options for ubuntu-server
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ubuntu-server.com [123.123.123.123] port 22.
debug1: Connection established.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /Users/bla/.ssh/id_rsa type -1
debug1: identity file /Users/bla/.ssh/id_rsa-cert type -1
ssh_exchange_identification: Connection closed by remote host

Gdybym wyjąć kluczyk, mam dokładnie taką samą moc (SAN „debug2: key_type _...). Udało mi się zalogować fizycznie i sprawdził moje hosts.allowi hosts.deny. Ale nie mają wpisy Próbowałem usunięcie i ponowne zainstalowanie OpenSSH, sprawdzone authorized_keysi ~/.sshuprawnienia i próbowałem połączyć się z innymi komputerami, aby uzyskać ten sam błąd. Jestem na dobrej drodze, każda pomoc byłaby bardzo mile widziana.

Carlos
źródło
2
Czy możesz zamieścić dane wyjściowe -vvvi zezwolenie na ~/.sshfolder i ~/.ssh/authorized_keysplik?
kwanta
1
Czy możesz także wkleić plik sshd_config oraz plik host.allow / host.deny? Nawiasem mówiąc, czy możesz połączyć się lokalnie z: ssh localhost?
Rilindo
@quanta -vvv dziennika można znaleźć w tym GIST , uprawnienia są drwx------ 2 user group 4096 2011-10-29 10:27 .sshi -rw------- 1 user group 405 2011-10-29 10:20 authorized_keys2. @Rilindo mojego demona SSH i host.allow / zaprzeczyć, można również znaleźć w GIST . Jeszcze raz dziękuję za pomoc!
Carlos
1
Nie widzę sshd_config - ale co z tym: uruchom sshd na alternatywnym porcie z debugowaniem tak: / usr / sbin / sshd -p222 -d -f / etc / ssh / sshd_config
Rilindo

Odpowiedzi:

3

Ten sam błąd

ssh_exchange_identification: Połączenie zamknięte przez zdalny host

zdarza się, gdy klucze prywatne (pliki) są czytelne dla wszystkich, tj. mają złe uprawnienia.

Na przykład, jeśli którykolwiek z kluczy prywatnych

  • ssh_host_key
  • ssh_host_dsa_key
  • ssh_host_rsa_key

w /etc/ssh/chmod 644(powinny być chmod 600).

Następujące uprawnienia powodują błąd „ssh_exchange_identification: Połączenie zamknięte przez hosta zdalnego”:

root@host:/etc/config/ssh# ls -la
drwxrwxrwx    2 root     root            0 Aug 24  2005 .
drw-rw-rw-    3 root     root            0 Apr  3  2007 ..
-rw-r--r--    1 root     root        88039 Aug 24  2005 moduli
-rw-r--r--    1 root     root         1559 Aug 24  2005 ssh_config
-rw-r--r--    1 root     root          668 Aug 24  2005 ssh_host_dsa_key
-rw-r--r--    1 root     root          599 Aug 24  2005 ssh_host_dsa_key.pub
-rw-r--r--    1 root     root          524 Aug 24  2005 ssh_host_key
-rw-r--r--    1 root     root          328 Aug 24  2005 ssh_host_key.pub
-rw-r--r--    1 root     root          883 Aug 24  2005 ssh_host_rsa_key
-rw-r--r--    1 root     root          219 Aug 24  2005 ssh_host_rsa_key.pub
-rw-r--r--    1 root     root         2018 Aug 25  2005 sshd_config

Poprawione uprawnienia, połączenia powinny być teraz akceptowane:

root@host:/etc/config/ssh# ls -la                    
drwxrwxrwx    2 root     root            0 Aug 24  2005 .
drw-rw-rw-    3 root     root            0 Apr  3  2007 ..
-rw-r--r--    1 root     root        88039 Aug 24  2005 moduli
-rw-r--r--    1 root     root         1559 Aug 24  2005 ssh_config
-rw-------    1 root     root          668 Aug 24  2005 ssh_host_dsa_key
-rw-r--r--    1 root     root          599 Aug 24  2005 ssh_host_dsa_key.pub
-rw-------    1 root     root          524 Aug 24  2005 ssh_host_key
-rw-r--r--    1 root     root          328 Aug 24  2005 ssh_host_key.pub
-rw-------    1 root     root          883 Aug 24  2005 ssh_host_rsa_key
-rw-r--r--    1 root     root          219 Aug 24  2005 ssh_host_rsa_key.pub
-rw-r--r--    1 root     root         2018 Aug 25  2005 sshd_config
Kasreyn
źródło
1
Byłoby miło, gdyby powiedział „pary kluczy podstawowych nie powinny być zapisywane na świecie” zamiast „ssh_exchange_identification: Gobble De Goop”, ale od razu, to był problem, z którym się spotkałem.
Dustin Graham,
2

Prawie na pewno /etc/hosts.denyplik ma wpis dla twojego komputera, dodaj

sshd: xxx.yyy.zzz.aaa

dla twojego podłączającego adresu IP do /etc/hosts.allow

Tom H.
źródło
doh! wyciągnięty przez mojego własnego petarda, wydaje się
bitcruncher
1
-rw------- 1 user group 405 2011-10-29 10:20 authorized_keys2

authorized_keys2jest przestarzałe od wersji 3.0.

debug3: Not a RSA1 key file /Users/bla/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace

Wygląda na to, że Twój klucz prywatny jest uszkodzony. Ponownie wygeneruj parę kluczy, użyj, ssh-copy-idaby zainstalować klucz publiczny w authorized_keyspliku i spróbuj ponownie.

kwanty
źródło
1

Czy może być nowa zapora ogniowa między robieniem czegoś. Raz spotkałem się z problemem polegającym na tym, że w nowej zaporze ogniowej wprowadzono dokładnie ten sam problem. Nowa zapora została wprowadzona po stronie serwerów.

proy
źródło
0

Może tu być kilka problemów.

  1. Czy serwer jest skonfigurowany do ograniczania akceptowanych typów uwierzytelniania? Można to ustawić za pomocą różnych *Authenticationdyrektyw w sshd_configpliku.
    • Jeśli używasz PAM do uwierzytelniania, sprawdź jego konfigurację
  2. Wygląda na to, że Twój klucz ma inny format. Sprawdź flagi ssh-keygen -e -ii -m.
akraut
źródło