56 votes

Comment corriger "ssh_exchange_identification : read : Connection reset by peer" ?

Je ne peux pas me connecter à mon serveur via ssh en utilisant mon ordinateur, mais je peux me connecter à ce serveur via mon téléphone portable en utilisant l'application termius. J'ai vérifié /etc/hosts.allow y /etc/hosts.deny et mes iptables, et j'ai déjà cherché sur google, il semble qu'aucune réponse ne corresponde à ce problème. Je ne sais pas comment le résoudre. ssh -v 183.17.228.80 sortie

debug1: Connecting to 183.17.228.80 [183.17.228.80] port 22.
debug1: Connection established.=======================   
debug1: permanently_set_uid: 0/0   
debug1: SELinux support disabled  
debug1: key_load_public: No such file or directory    
debug1: identity file /root/.ssh/id_rsa type -1    
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_rsa-cert type -1      
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa-cert type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa type -1  
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa-cert type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519 type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519-cert type -1  
debug1: Enabling compatibility mode for protocol 2.0  
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2   
ssh_exchange_identification: read: Connection reset by peer

Je peux pinguer ce serveur, voici telnet

telnet 183.17.228.29 22  
Trying 183.17.228.29...  
Connected to 183.17.228.29.  
Escape character is '^]'.                                                                 
Connection closed by foreign host.

1voto

mkmr Points 21

Pour résoudre ce problème, procédez comme suit :

  1. Redémarrez votre serveur à partir du terminal en ligne du serveur.

Si cela ne fonctionne pas,

  1. Modifier le fichier $HOME/.ssh/known_hosts

  2. Supprimez tout contenu à l'intérieur de ce fichier, quand il se reconnectera à tous les serveurs que vous ssh alors vous devez ré-accepter les connexions.

1voto

Kiran Babu Points 319

J'ai eu la même chose, et j'ai eu besoin de ssh -v 'ip addr' et ensuite j'ai vu que je devais accepter le certificat. Il se peut également qu'une règle ACL ou route bloque Putty : exemple -

Le client Putty a une adresse 10.x.x.x avec des pare-feu bloquant le réseau de l'entreprise pour parler aux hôtes DMZ, mais votre téléphone portable à 58.x.x.x quelle que soit l'adresse IP publique peut parler à l'hôte DMZ que vous essayez d'atteindre.

Je regarderais donc les informations ssh -v lorsque vous essayez de vous reconnecter, pour voir si vous pouvez glaner des informations, et ensuite vérifier s'il y a des règles qui vous empêchent d'accéder à votre serveur au niveau du pare-feu ou du routeur, et non dans un fichier denyhosts sur le serveur lui-même.

1voto

Ken A Points 11

Créez une nouvelle paire de clés ssh pour l'authentification des utilisateurs. Guide des clés SSH et de l'authentification par clé publique

Il suffit de suivre le guide.

0voto

Binarycrayon Points 285
  1. Vérifiez que sshd est installé et fonctionne sur le serveur.
  2. Assurez-vous que le démon est installé et démarré. Vous devez être capable de lire 'man sshd'. Je pense que le paquet dans lequel il se trouve est open-ssl, et vous devrez démarrer le démon (et l'arrêter lorsque vous n'en avez pas besoin).

0voto

Après plusieurs jours, je ne sais pas quel était le problème en fin de compte, peut-être que j'ai vraiment eu trop d'essais et que j'ai dû attendre. Ou c'était autre chose, comme une installation d'openssh manquante. J'ai posté un guide pratique pour utiliser ssh pour télécharger un dépôt git ici, dont l'essentiel est le suivant :

# first image only to download the git repo
FROM alpine as MY_TMP_GIT_IMAGE

RUN apk add --no-cache git
RUN mkdir -p /root/.ssh &&  chmod 700 /root/.ssh
COPY /.ssh/id_ed25519 /root/.ssh/id_ed25519
RUN chmod 600 /root/.ssh/id_ed25519

RUN apk -yqq add --no-cache openssh-client && ssh-keyscan -t ed25519 -H gitlab.com >> /root/.ssh/known_hosts
RUN git clone git@gitlab.com:GITLAB_USERNAME/test.git
RUN rm -r /root/.ssh

# Start of the second image
FROM MY_BASE_IMAGE
COPY --from=MY_TMP_GIT_IMAGE /MY_GIT_REPO ./MY_GIT_REPO

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X