Essayer de SSH sur le serveur et d’obtenir key_load_public: pas d’erreur de fichier ou de répertoire de ce type

43

J'ai créé une connexion ssh sans mot de passe sur mon serveur distant à partir de mon mac. Cela a fonctionné (!), Puis j'ai fermé mon terminal, je l'ai rouvert, essayé à nouveau et j'ai obtenu ce qui suit (nom d'utilisateur, mon_ip ne sont pas réels):

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

Lorsque j'ai vérifié mon .sshdossier, id_rsail y en avait mais aucun des autres ne l'était. D'après l'erreur, il me semble que j'ai besoin de créer ces fichiers, mais je ne sais pas comment faire.

Toute aide serait appréciée.

Eric
la source
1
Y a-t-il un problème réel? Par exemple, vous ne parvenez pas à vous connecter? Pourriez-vous modifier votre question pour inclure la sortie de débogage complète au lieu de la première partie?
Kenster
Oui; mes excuses! Je ne peux pas me connecter - et j'avais déjà oublié la dernière ligne (et peut-être la plus importante?).
Eric

Réponses:

51
debug1: key_load_public: No such file or directory

La ligne ci-dessus n'est pas une erreur, mais un simple journal de débogage indiquant que le sshclient n'est pas en mesure de trouver une clé publique distincte (nommée ~/.ssh/id_rsa.pub). Ce fichier n'est pas nécessaire pour se connecter au serveur distant, mais il peut être utile.

L'erreur réelle

ssh_exchange_identification: read: Connection reset by peer

pointe vers une erreur dans la configuration du serveur. Le serveur est en cours d'exécution mais n'accepte pas la connexion SSH. Consultez le journal du serveur pour plus d'informations. Problèmes similaires

Jakuje
la source
Ce lien était très utile. Et, il s'avère que j'étais en fait sur une liste noire (j'avais déjà ssh'ed dans mon serveur trop de fois pendant que je testais quelque chose.)
Eric
1
Mon problème était qu'un hôte Bastion avait changé l'adresse IP et que known_hostsc'était incorrect sur mon Mac ... Il a montré @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @... Il montre le numéro de ligne par ~/.ssh/known_hosts:238. J'ai donc supprimé cette ligne, 238 dans ce cas, du fichier known_hosts sur mon Mac et j'ai essayé de me connecter à nouveau avec succès.
Marcello de Sales
3

Problème: incompatibilité IP hôte bastion sur ~/.ssh/known_hosts

J'avais le known_hostsfichier ancien car l'adresse IP du bastion a changé ...

$ ssh 10.82.49.24
ssh_exchange_identification: Connection closed by remote host

Ne m'a pas donné aucune information. Regarder la sortie verbeuse mène à la même chose:

$ 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

À ce stade, puisqu'il s'agit d'un proxy vers un autre hôte via le bastion, je pouvais voir que le bastion posait problème:

$ 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.

Solution

La suppression de l'entrée de la ligne 238 a résolu le problème ... Je pouvais SSH au bastion et SSH aux hôtes.

$ 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
la source
1

M'est arrivé aujourd'hui.

Fixé en déconnectant mon WLAN et en me reconnectant. Oui, cela semble stupide et c'est stupide, mais au moins sur un WLAN, cela s'est produit sans aucune raison valable.

Stargazers
la source
0

Même problème, il suffit de poster la solution ici

Retirez votre adresse IP de l' /etc/hosts.denyutilisation de:

nano /etc/hosts.deny
Qin Wang
la source