GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ssh réinitialise le port par défaut au redémarrage ?

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

Quelques jours plus tard, j'ai installé les mises à jour d'apt, puis j'ai redémarré mon serveur. Lorsque j'ai essayé de revenir en SSH (sur le port 54747), j'ai reçu 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é le ssh et sshd services, 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 est également utilisé sur un HTPC, avec une session ouverte (même utilisateur que SSH) sur mon téléviseur
  • J'utilise SSH avec 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 recherche, j'ai découvert qu'il était découragé par certaines personnes, alors j'ai essayé sudo reboot , mais aucune différence

MODIFIER
Enchaînement des événements :

  1. Changez le port SSH de 22 à 54747 dans /etc/ssh/sshd_config
  2. Redémarrer les services ssh et sshd
  3. Fermer la session SSH en cours
  4. Rétablissement SSH réussi sur le port 54747
  5. Redémarrer
  6. Erreur de connexion SSH sur le port 54747, mais réussie sur le port 22
  7. Redémarrer les services ssh et sshd
  8. Retour SSH réussi sur le port 54747, erreur de connexion sur le port 22
  9. Redémarrer et revenir à 6

MODIFICATION 1 : netstat sortie

[email protected]:~$ sudo netstat -lntp | grep :54747
[email protected]:~$ sudo netstat -lntp | grep :22
tcp6       0      0 :::22                   :::*                    LISTEN      1/init  

MODIFICATION 2 : service sshd status

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

ÉDITION 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'adresse IP LAN de mon ordinateur portable et la commande a été exécutée entre les étapes 6 et 7

ufw status

Status: inactive

ÉDITION 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: [email protected]/1 sshd

Réponse acceptée :

ssh peut être "activé par socket" par systemd en fonction de la configuration, ce qui signifie qu'au départ, c'est systemd qui configure le port d'écoute, et sshd n'est démarré que lorsqu'un client se connecte pour la première fois. Cela permet d'accélérer le temps de démarrage :les démons de service ne sont démarrés qu'à la demande.

Connexe :Comment enregistrer l'écran dans Ubuntu ?

Cependant, cela signifie que vous devez également configurer systemd sur le port correspondant. Vous trouverez la configuration du système dans /lib/systemd/system/ssh.socket qui répertorie ListenStream=22 . Pour remplacer cela, créez un fichier /etc/systemd/system/ssh.socket.d/port.conf (création du répertoire ssh.socket.d si besoin) qui contient :

[Socket]
ListenStream=
ListenStream=54747

Remplacez le numéro par le port souhaité. La première entrée vide efface la valeur par défaut précédente et l'entrée suivante ajoute la nouvelle. Cela remplace la valeur par défaut fournie dans /lib/systemd/system/ssh.socket et doit être fait en plus de changer /etc/ssh/sshd_config .

Ensuite, exécutez sudo systemctl daemon-reload pour informer systemd de vos modifications, et sudo systemctl reload ssh si votre démon ssh était précédemment en cours d'exécution.


Ubuntu
  1. Comment changer le port SSH sous Linux

  2. Comment changer le port SSH sur Lubuntu 20.04 Linux

  3. Comment changer le port SSH dans CentOS

  4. Connecter un tunnel Ssh au redémarrage ?

  5. Changer le port SSH dans CWP

Comment activer SSH sur CentOS

Comment installer le serveur SSH dans Ubuntu 20.04

Comment changer le port SSH dans Ubuntu

Comment changer le port SSH par défaut sous Linux [correctement et en toute sécurité]

Comment changer le port SSH sur Centos 7.x ?

Comment changer le port SSH sur Ubuntu ?