Provare a SSH nel server e ottenere key_load_public: nessun errore di file o directory


43

Ho creato una connessione ssh senza password al mio server remoto dal mio mac. Ha funzionato (!) E poi ho chiuso il mio terminale, riaperto, riprovato e ottenuto il seguente (nome utente, my_ip non sono reali):

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

Quando ho controllato la mia .sshcartella, id_rsac'era, ma nessuno degli altri lo era. Dall'errore, sembra che debba in qualche modo creare questi file ma non sono sicuro di come farlo.

Qualsiasi aiuto sarebbe apprezzato.


1
C'è un problema reale? Ad esempio, in realtà non riesci ad accedere? Potresti modificare la tua domanda per includere l'output di debug completo, anziché solo la prima parte?
Kenster,

Sì; Mie scuse! Non riesco ad accedere - e prima avevo interrotto l'ultima (e forse la più importante?) Riga.
Eric

Risposte:


51
debug1: key_load_public: No such file or directory

La riga sopra non è un errore, ma solo un semplice registro di debug che dice che il sshclient non è in grado di trovare una chiave pubblica separata (denominata ~/.ssh/id_rsa.pub). Questo file non è necessario per connettersi al server remoto, ma può essere utile.

L'errore reale

ssh_exchange_identification: read: Connection reset by peer

indica un errore nella configurazione del server. Il server è in esecuzione, ma non accetta la connessione SSH. Controllare il registro del server per ulteriori informazioni. Problemi simili


Quel link è stato molto utile. E si scopre che in realtà ero nella lista nera (ero stato inserito nel mio server troppe volte mentre stavo testando qualcosa).
Eric

1
Il mio problema era che un host Bastion aveva cambiato l'indirizzo IP e known_hostsnon era corretto sul mio Mac ... Mostrava @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @... Mostra il numero di riga di ~/.ssh/known_hosts:238. Quindi, ho rimosso quella linea, 238 in questo caso, dal file known_hosts sul mio Mac e ho provato a collegarmi di nuovo con successo.
Marcello de Sales,

3

Problema: mancata corrispondenza IP dell'host del bastione attivata ~/.ssh/known_hosts

Avevo il known_hostsfile vecchio quando l'indirizzo IP del bastione è cambiato ...

$ ssh 10.82.49.24
ssh_exchange_identification: Connection closed by remote host

Non mi ha dato alcuna informazione. Guardare l'output dettagliato porta alla stessa cosa:

$ 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 ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -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

A questo punto, dal momento che è un proxy per un altro host attraverso il bastione, ho potuto vedere il bastione essere un problema:

$ ssh ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -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 ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com has changed and you have requested strict checking.
Host key verification failed.

Soluzione

La rimozione della voce sulla riga 238 ha risolto il problema ... Potrei SSH al bastione e potrei SSH agli host.

$ vim /Users/mdesales/.ssh/known_hosts

$ ssh ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -i ~/.ssh/xxxconfig-xxxx.pem
The authenticity of host 'ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com (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 'ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -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 ~]$ 

1

Mi è successo oggi.

Risolto disconnettendo la mia WLAN e ricollegando. Sì, sembra stupido ed è stupido, ma almeno su una WLAN questo è successo senza una buona ragione.


0

Stesso problema, pubblica qui la soluzione

Rimuovi il tuo IP /etc/hosts.denydall'uso:

nano /etc/hosts.deny
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.