J'ai changé mon port SSH par défaut sur mon serveur domestique (dans le /etc/ssh/sshd_config
fichier) en port 54747, puis j'ai redémarré les services ssh
et sshd
(je ne sais pas lequel, donc j'ai fait les deux juste pour être sûr). Pour tester ma configuration, je me suis déconnecté puis reconnecté sans problème.
Quelques jours plus tard, j'ai installé les mises à jour apt, puis redémarré mon serveur. Lorsque j'ai essayé de me connecter à SSH (sur le port 54747), j'ai eu une erreur de connexion refusée.
Pour une raison quelconque, j'ai essayé de SSH sur le port par défaut, et cela a fonctionné! Je suis retourné vérifier le sshd_config, mais il avait toujours le port personnalisé. J'ai donc redémarré les services ssh
et sshd
, et il est revenu à un comportement "normal" (ssh sur le port 54747). J'ai essayé de redémarrer à nouveau et la connexion a de nouveau refusé ...
Quelqu'un sait ce que j'ai fait de mal?
Détails supplémentaires:
- Ubuntu 16.04.2 LTS
- Le serveur utilise également un HTPC, avec une session ouverte (même utilisateur que SSH) sur mon téléviseur
- Je SSH en utilisant la clé RSA de mon ordinateur portable et j'ai désactivé l'authentification par mot de passe
- J'avais l'habitude de redémarrer avec
sudo reboot -h now
, mais après avoir cherché, j'ai découvert qu'il était découragé par certaines personnes, j'ai donc essayésudo reboot
, mais aucune différence
MODIFIER la séquence des événements:
- Changer le port SSH de 22 à 54747 en
/etc/ssh/sshd_config
- Redémarrez les services ssh et sshd
- Mettre fin à la session SSH en cours
- SSH de retour avec succès sur le port 54747
- Redémarrer
- Erreur de connexion SSH sur le port 54747, mais réussie sur le port 22
- Redémarrez les services ssh et sshd
- SSH de retour avec succès sur le port 54747, erreur de connexion sur le port 22
- Redémarrez et revenez à 6
EDIT 1: netstat
sortie
rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
EDIT 2: service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
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: inactive
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
Port 10285
. Google affiche quelques résultats pour 54747 ... (3) Le serveur SSH peut également fonctionner avec plusieurs ports simultanément. Créez deux directives distinctes pour chaque port: Port 22
puis Port 54747
, ouvrez uniquement la seconde dans le pare-feu. (4) Vous pouvez essayer la Match LocalPort
directive , placée au début de sshd_c
.