12 votes

SSH se réinitialise sur le port par défaut au redémarrage

J'ai changé le port SSH par défaut sur mon serveur domestique (dans le fichier /etc/ssh/sshd_config) au port 54747, puis j'ai redémarré les services ssh et sshd (jamais sûr lequel donc j'ai fait les deux juste pour être sûr). Pour tester ma configuration, je me suis déconnecté puis reconnecté sans aucun problème.

Quelques jours plus tard, j'ai installé les mises à jour via apt, puis j'ai redémarré mon serveur. Lorsque j'ai essayé de me reconnecter en SSH (sur le port 54747), j'ai reçu une erreur de connexion refusée.

Pour une raison inconnue, j'ai essayé de me connecter en SSH sur le port par défaut, et cela a fonctionné ! Je suis retourné vérifier dans le sshd_config, mais le port personnalisé était toujours là. J'ai donc redémarré les services ssh et sshd, et tout est revenu à un comportement "normal" (SSH sur le port 54747). J'ai essayé de redémarrer à nouveau, et connexion refusée à nouveau...

Est-ce que quelqu'un sait ce que j'ai fait de travers ?

Détails supplémentaires :

  • Ubuntu 16.04.2 LTS
  • Le serveur est également utilisé comme HTPC, avec une session ouverte (même utilisateur que SSH) sur ma TV
  • Je me connecte en SSH en utilisant la clé RSA de mon ordinateur portable, et j'ai désactivé l'authentification par mot de passe
  • Je rebootais avec sudo reboot -h now, mais après avoir cherché, j'ai découvert que cela était déconseillé par certaines personnes, donc j'ai essayé sudo reboot, mais aucune différence

EDIT Séquence des événements :

  1. Changer le port SSH de 22 à 54747 dans /etc/ssh/sshd_config
  2. Redémarrer les services ssh et sshd
  3. Terminer la session SSH actuelle
  4. Se reconnecter avec succès en SSH sur le port 54747
  5. Redémarrer
  6. Erreur de connexion SSH sur le port 54747, mais réussite sur le port 22
  7. Redémarrer les services ssh et sshd
  8. Se reconnecter avec succès en SSH sur le port 54747, erreur de connexion sur le port 22
  9. Redémarrer et retour à l'étape 6

EDIT 1 : Sortie de la commande netstat

rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6       0      0 :::22                   :::*                    LISTEN      1/init  

EDIT 2 : Statut du service sshd

 ssh.service - Serveur OpenBSD Secure Shell
   Chargé : chargé (/lib/systemd/system/ssh.service; activé; préréglage du fournisseur : activé)
   Actif : inactif (mort)

EDIT 3 : lsof -i | grep ssh

systemd      1     root   46u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd      1     root   49u  IPv6  14641      0t0  TCP *:ssh (LISTEN)
sshd      4088     root    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4088     root    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)

Pour référence, ATLAS est le nom d'hôte du serveur distant, 192.168.1.27 est l'IP LAN de mon ordinateur portable, et la commande a été exécutée entre les étapes 6 et 7

ufw status

Status: inactif

EDIT 4 : ps -ef |grep sshd

root      4088     1  0 22:40 ?        00:00:00 sshd: rgo [priv]
rgo       4202  4088  0 22:40 ?        00:00:00 sshd: rgo@pts/1 sshd

0voto

Jay Points 176

Causes possibles auxquelles je peux penser

  1. Un binaire sshd différent est lancé au démarrage ou sshd est lancé avec une configuration différente. Peut-être que systemd est le coupable ici - il a une manière différente de changer le port, via le fichier /usr/lib/systemd/system/sshd.socket apparemment : https://www.vultr.com/docs/how-to-change-ssh-port-on-coreos
  2. Le bon dossier /etc/ ou /etc/ssh n'est pas encore monté lorsque sshd démarre, est-ce un volume séparé sur votre machine qui est monté plus tard dans le processus de démarrage ?
  3. sshd manque de permissions de lecture sur le fichier de configuration au démarrage, bien que je ne sache pas si sshd démarrait alors du tout.

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