J'administre un environnement réseau où les utilisateurs s'authentifient sur NIS. Toutes les machines peuvent être utilisées pour SSH sur le serveur, sauf une. Sur la machine en question, je reçois le message
ssh: connect to host servername port 22: Connection refused
J'ai comparé les strace
sorties de la machine en question et d'une machine capable de se connecter correctement au serveur.
Il s'avère que la machine qui ne peut pas SSH dans le serveur ne consulte pas /etc/hosts
alors que la machine qui peut SSH correctement le fait. Les deux machines ont été /etc/hosts
configurées avec le nom et l'adresse IP du serveur. Au final, la machine qui ne consulte pas /etc/hosts
finit par essayer de se connecter à 127.0.0.1
(localhost) et échoue avec le message ci-dessus. Que peut causer cela?
Information additionnelle:
- Le serveur dans lequel j'essaie de SSH agit également en tant que serveur de noms et les deux machines le consultent tout en essayant de SSH.
- La machine qui ne peut pas SSH dans le serveur peut SSH correctement dans d'autres machines quand je le fais
ssh machinename
Lesstrace
journaux montrent que la machine consulte le serveur de noms (cette fois avec succès) et parvient à résoudre correctement le nom de la machine distante et à s'y connecter.
EDIT: Je serai heureux de fournir toute information supplémentaire qui, selon vous, pourrait aider à résoudre ce problème.
Réponses:
Il me semble que l'hôte de problème n'a pas correctement configuré
nsswitch.conf
.La
hosts
ligne de/etc/nsswitch.conf
devrait ressembler à ceci:Cependant, le contenu exact variera en fonction de votre environnement. Vous devez comparer avec les hôtes actifs et apporter des modifications en conséquence.
la source