J'ai un serveur Ubuntu en cours d'exécution 10.04.1. Lorsque j'ai essayé de me connecter au serveur via ssh, je ne pouvais pas. Au lieu de cela, j'ai eu l'erreur connection refused
. J'ai essayé de cingler la machine et j'ai eu la réponse! Donc, la raison en est que le démon SSH est arrêté.
Après le redémarrage, j’ai pu me connecter à mon serveur via ssh. Après un certain temps, j'ai consulté mes journaux /var/log/syslog
et trouvé les enregistrements suivants:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped
J'ai cherché un problème/solution similaire. Certaines personnes ont expliqué que cela était dû au fait que le démon SSH essayait de démarrer avant la mise en réseau et suggéraient de changer ListenAddress
dans /etc/ssh/sshd_config
en 0.0.0.0
. Je pense que ce n'est pas la cause dans mon cas, car mon problème survient une fois que le système est opérationnel.
Une idée de ce qui cause ça? C'est Ubuntu Server et il devrait être en cours d'exécution et accessible à distance à l'aide de SSH.
PDATE:
Voici l'extrait de journal que j'ai trouvé dans /var/log/auth.log
.
Jan 16 10:56:38 myserver Sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver Sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.
Il semble que cette erreur ait commencé à apparaître après le rechargement du démon SSH. Devrais-je éviter d'utiliser ssh reload
et utiliser plutôt ssh restart
?
Vous devriez vérifier ce qui s’est passé juste avant SSH a commencé à patauger dans syslog
. Si le sous-système réseau mourrait, cela pourrait expliquer pourquoi sshd
a commencé à échouer.
Je voudrais aussi vérifier /var/log/auth.log
. C'est le journal de sshd
et cela pourrait vous donner un meilleur message d'erreur.
Je viens d'avoir le même problème sur ma boîte 12.04. C'est à dire. mêmes symptômes. Hélas, cela se produisait toujours lorsque j'ai introduit la clause ListenAddress
avec les adresses inet
et inet6
dans sshd_config
. En bref, cela semble être le symptôme d'un sshd_config
malformé - bien que les fichiers journaux ne disent rien de ce genre.
sshd
name__Ce que je trouve généralement très utile dans de tels cas est de démarrer sshd
sans le laisser démoniser. Le problème dans mon cas était que ni syslog
ni auth.log
n’avait rien de significatif.
Quand je l'ai démarré depuis le terminal, j'ai eu:
# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.
Beaucoup mieux! Ce message d'erreur m'a permis de voir ce qui n'allait pas et de le réparer. Aucun des fichiers journaux ne contenait cette sortie.
NB: au moins sur Ubuntu, la $(which sshd)
est la meilleure méthode pour satisfaire à sshd
l'exigence d'un chemin absolu. Sinon, vous obtiendrez l'erreur suivante: sshd re-exec requires execution with an absolute path
. Le -p 10222
permet à sshd
d'écouter ce port alternatif, en surchargeant le fichier de configuration, afin d'éviter tout conflit avec des instances sshd
potentiellement en cours d'exécution. Assurez-vous de choisir un port libre ici.
Cette méthode m'a souvent aidé à trouver des problèmes, que ce soit des problèmes d'authentification ou d'autres types. Pour obtenir une sortie vraiment détaillée vers stdout
name__, utilisez $(which sshd) -Ddddp 10222
(notez le dd
ajouté pour augmenter la verbosité). Pour plus de qualité du débogage, vérifiez man sshd
.
Cela semble être le résultat du bogue n ° 687535, qui a été corrigé récemment dans natty, et qui a été téléchargé à la fois sur maverick et lucid en tant que mise à jour proposée.
https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535
J'encourage tout le monde à y aller, à essayer le scénario de test (recherchez TEST CASE) et à publier vos résultats à la fois avant et après l'installation du correctif proposé. Cela aidera l’équipe de la SRU à décider que la vérification a été effectuée et la publiera sous forme de mise à jour.
Dans /etc/ssh/sshd_config
, assurez-vous que toutes les options oui et non sont en minuscule. Par exemple, si vous définissez PermitRootLogin No
, ssh ne démarrera pas. En fait, il doit s'agir de PermitRootLogin no
.
J'ai eu un problème similaire avec une image Ubuntu 11.10 sur une Linode après le redémarrage. Le service SSH produirait dans syslog:
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped
C'est une boîte de test, et il y avait environ 60 jours de disponibilité, alors quelque part, j'ai installé quelque chose qui a été ajouté au bas de sshd_config:
ClientAliveInterval 60
ClientCountAliveMax 60
Commenter ces lignes a permis à ssh de commencer.
Ubuntu ssh ne voulait pas démarrer et syslog donnait "le processus principal init: ssh (2044) terminé avec le statut 255"
/ usr/sbin/sshd -Ddp 10222
Sûrement travaillé pour moi pour déterminer l'erreur de ligne sshd_config