Accéder à SSH quand le port est bloqué
Parfois, la connexion à internet dont on dispose ne nous permet pas d'utiliser SSH pour travailler à cause de certaines restrictions sur le réseau, notamment quand le port 22 est bloqué. On a donc recours à une petite astuce : changer le port d'écoute du serveur.
Note : Cet article fait partie de la sélection d'articles de la précédente version de Martius Web.
Si vous avez besoin d'un accès à votre serveur via SSH mais que le port 22 est inaccessible, une simple solution sera de changer de port. Cherchez les ports accessibles, généralement les ports HTTP, HTTPS, POP2 ou POP3 (respectivement 80, 443, 109, 110). N'utilisez pas un port déjà utilisé sur le serveur.
Pour changer le port, il suffit de quelques lignes de commandes. Vous devez être loggué en root (ou utiliser sudo par exemple, sous ubuntu).
Pour effectuer une commande en root avec ubuntu, préfixez chaque commande de sudo (qui signifie SuperUser Do).
Début de listing de code
# nano /etc/sshd_config
Fin de listing de code
Cherchez alors la ligne Port 22 et choisissez le port que vous préférez : Port 123
Pour quitter nano utilisez le raccourci Ctrl+X et dites "o" pour enregistrer les modifications.
Nous allons a présent redémarrer le démon écoutant les requêtes SSH
Début de listing de code
# /etc/init.d/sshd restart
Fin de listing de code
ou éventuellement
Début de listing de code
# /etc/init.d/sshd reload
Fin de listing de code
Avant de quitter, il est impératif de vérifier que cette modification a été prise en compte, sinon votre serveur deviendra inaccessible (via SSH).
Début de listing de code
# netstat -nptl | grep 123
Fin de listing de code
Remplacez bien sur 123 par le port que vous avez choisi. Vous devriez voir la ligne :
Début de listing de code
tcp 0 0 0.0.0.0:123 0.0.0.0:* LISTEN 9490/sshd
Fin de listing de code
Si tout est parfait, alors vous pouvez passer à autre chose ! Sinon, recommencez l'opération.
Pour vous connecter, vous devrez alors taper :
Début de listing de code
$ ssh -p 123 user@monserveur.net
Fin de listing de code
ou
Début de listing de code
$ ssh user@monserveur.net -o "Port 123"
Fin de listing de code
Par sécurité, vous pouvez interdire une connexion root directe sur le serveur dans le fichier de configuration sshd_config en ajoutant la ligne
Début de listing de code
PermitRootLogin no
Fin de listing de code