Próba połączenia SSH z serwerem i uzyskanie klucza publicznego_obciążenia: Brak błędu pliku lub katalogu

43

Z komputera Mac utworzyłem połączenie ssh bez hasła do mojego zdalnego serwera. Działa (!), A następnie zamknąłem terminal, otworzyłem go ponownie, spróbowałem ponownie i otrzymałem następujące informacje (nazwa użytkownika, mój_ip nie są prawdziwe):

ssh -vvv username@my_ip
OpenSSH_7.2p2, LibreSSL 2.4.1
debug1: Reading configuration data /Users/Me/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug2: resolving "my_ip" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to my_ip [my_ip] port 22.
debug1: Connection established.
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/Mes/.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: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_ed25519 type -1
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
ssh_exchange_identification: read: Connection reset by peer

Kiedy sprawdziłem mój .sshfolder, id_rsanie było go, ale żadnego z nich nie było. Z błędu wynika, że ​​muszę jakoś utworzyć te pliki, ale nie jestem pewien, jak to zrobić.

Każda pomoc będzie mile widziana.

Eric
źródło
1
Czy istnieje rzeczywisty problem? Na przykład, czy faktycznie się nie logujesz? Czy możesz edytować swoje pytanie, aby zawierało pełne dane wyjściowe debugowania zamiast tylko pierwszej części?
Kenster,
Tak; przepraszam! Nie mogę się zalogować - wcześniej zrezygnowałem z ostatniej (i być może najważniejszej?) Linii.
Eric,

Odpowiedzi:

51
debug1: key_load_public: No such file or directory

Powyższa linia nie jest błędem, ale zwykłym dziennikiem debugowania, który mówi, że sshklient nie może znaleźć osobnego klucza publicznego (o nazwie ~/.ssh/id_rsa.pub). Ten plik nie jest potrzebny do połączenia ze zdalnym serwerem, ale może być przydatny.

Rzeczywisty błąd

ssh_exchange_identification: read: Connection reset by peer

wskazuje na błąd w konfiguracji serwera. Serwer działa, ale nie akceptuje połączenia SSH. Sprawdź dziennik serwera, aby uzyskać więcej informacji. Podobne problemy

Jakuje
źródło
Ten link był bardzo pomocny. I okazuje się, że tak naprawdę byłem na czarnej liście (zbyt wiele razy ssh'owałem na mój serwer, gdy coś testowałem)
Eric,
1
Mój problem polegał na tym, że host Bastion zmienił adres IP i known_hostsbył niepoprawny na moim Macu ... Pokazał @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @... Pokazuje numer linii wg ~/.ssh/known_hosts:238. Więc usunąłem tę linię, w tym przypadku 238, z pliku znane_hosty na moim komputerze Mac i próbowałem ponownie nawiązać połączenie.
Marcello de Sales
3

Problem: nieprawidłowe dopasowanie adresu IP hosta bastionu ~/.ssh/known_hosts

known_hostsPlik miałem stary, ponieważ zmienił się adres IP bastionu ...

$ ssh 10.82.49.24
ssh_exchange_identification: Connection closed by remote host

Nie podał mi żadnych informacji. Spojrzenie na pełne wyniki prowadzi do tego samego:

$ ssh -v 10.82.49.24
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/mdesales/.ssh/config
debug1: /Users/mdesales/.ssh/config line 1: Applying options for 10.82.*.*
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec ssh -q -W 10.82.49.24:22 [email protected] -i ~/.ssh/xxxconfig-xxxx.pem
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/xxxconfig-xxxx.pem
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/xxxconfig-xxxx.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: permanently_drop_suid: 1647059022
ssh_exchange_identification: Connection closed by remote host

W tym momencie, ponieważ jest to serwer proxy do innego hosta za pośrednictwem bastionu, mogłem zauważyć, że bastion stanowi problem:

$ ssh [email protected] -i ~/.ssh/xxxconfig-xxxx.pem
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Z8X1UlIgQ94BKJ7NA/oQi7v0NL4IlFeO7Ou4j76Zphk.
Please contact your system administrator.
Add correct host key in /Users/mdesales/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/mdesales/.ssh/known_hosts:238
ECDSA host key for [email protected] has changed and you have requested strict checking.
Host key verification failed.

Rozwiązanie

Usunięcie wpisu w linii 238 rozwiązało problem ... Mógłbym ssh do bastionu i mógłbym ssh do gospodarzy.

$ vim /Users/mdesales/.ssh/known_hosts

$ ssh [email protected] -i ~/.ssh/xxxconfig-xxxx.pem
The authenticity of host '[email protected] (34.x.x.y)' can't be established.
ECDSA key fingerprint is SHA256:Z8X1UlIgQ94BKJ7NA/oQi7v0NL4IlFeO7Ou4j76Zphk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[email protected] -i ~/.ssh/xxxconfig-xxxx.pem,34.213.y.x' (ECDSA) to the list of known hosts.
********************************************************************************
This is a private computer system containing information that is proprietary
and confidential to the owner of the system.  Only individuals or entities
authorized by the owner of the system are allowed to access or use the system.
Any unauthorized access or use of the system or information is strictly
prohibited.

All violators will be prosecuted to the fullest extent permitted by law.
********************************************************************************
Last login: Wed Aug  2 20:35:55 2017 from 10.81.31.115
[ec2-user@ip-10-82-50-142 ~]$ 
Marcello de Sales
źródło
1

Zdarzyło mi się dzisiaj.

Naprawiono przez odłączenie mojej sieci WLAN i ponowne połączenie. Tak, to brzmi głupio i jest głupio, ale przynajmniej w jednej sieci WLAN stało się to bez żadnego dobrego powodu.

Stargazers
źródło
0

Ten sam problem, po prostu opublikuj rozwiązanie tutaj

Usuń swoje IP z /etc/hosts.denyużywania:

nano /etc/hosts.deny
Qin Wang
źródło