J'ai compilé OpenSSH_6.6p1 sur l'un de nos serveurs. Je peux me connecter via SSH au serveur mis à niveau. Mais je ne peux pas me connecter à d'autres serveurs exécutant OpenSSH_6.6p1 ou OpenSSH_5.8 à partir de cela. Lors de la connexion, j'obtiens une erreur comme ci-dessous.
Read from socket failed: Connection reset by peer
Sur le serveur de destination dans les journaux, je le vois comme ci-dessous.
sshd: fatal: Read from socket failed: Connection reset by peer [preauth]
J'ai essayé de spécifier le cipher_spec [ssh -c aes128-ctr destination-server] comme mentionné ici et j'ai pu me connecter. Comment configurer ssh pour utiliser le chiffrement par défaut? Pourquoi le chiffrement est-il requis ici?
telnet ip.or.name.of.offending.server 22
?Réponses:
Le problème ressemble à un bogue côté serveur. Lorsque le client envoie la liste des chiffres, le serveur openssh s'attend probablement à pouvoir lire la liste en un seul appel système.
Si la liste des chiffrements pris en charge est plus longue que ce qui peut être transmis dans un paquet, le serveur peut obtenir moins d'octets lors du premier appel que prévu. Le comportement correct sur le serveur serait d'effectuer un autre appel pour obtenir le reste des octets. Mais d'après la description du problème, le serveur ferme la connexion lorsqu'il n'a pas obtenu la liste complète des chiffres à la fois. Lorsque le prochain paquet du client arrive, le serveur envoie une réinitialisation de connexion au client.
Configurer le client pour utiliser une liste plus courte de chiffrements contournerait alors le bogue. Le client openssh recherchera la liste des chiffres aux endroits suivants:
Les deux fichiers de configuration sont respectivement des paramètres par utilisateur et à l'échelle du système. Utiliser
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
comme suggéré par Eric devrait fonctionner correctement.la source
Vous pouvez spécifier le chiffrement dans le fichier de configuration ssh (/ etc / ssh / ssh_config ou similaire, dépend de $ PREFIX etc). Toute option que vous transmettez au client ssh en ligne de commande peut être définie dans le fichier de configuration ssh (client).
Voici la ligne pertinente (décommentez juste):
la source
Ma façon de le réparer, j'espère que cela aide quelqu'un:
Modifier sshd_config en ajoutant une valeur
Modifier ssh_config en décommentant une valeur
la source
Résolution de ce problème en modifiant les autorisations de fichier ci-dessous à 600.
A également modifié l'autorisation pour tous les autres fichiers dans '/ etc / ssh /' en 644. Tous les fichiers doivent appartenir à 'root'.
Vous trouverez ci-dessous l'ensemble complet des commandes pour attribuer les autorisations appropriées à tous les fichiers du répertoire '/ etc / ssh':
la source
Mon problème qui avait exactement les mêmes symptômes que vous voyez était dû à des clés d'hôte tronquées. Essayez de les recréer avec:
la source