Comment déterminer le port auquel se connecter avec SSH?


15

J'ai une configuration de serveur Ubuntu 10.04 à distance que j'ai installée il y a quelque temps. Pendant que j'enregistrais le nom d'utilisateur et le mot de passe, je semble avoir été intelligent et avoir changé le port ssh habituel de 22 en ... autre chose.

Comment savoir ce que pourrait être ce port?

J'ai accès au serveur via la porte dérobée de la société d'hébergement, donc je peux exécuter toutes les commandes Unix nécessaires - mais je ne peux pas me connecter en utilisant un shell de mastic normal sur ma machine.


C'est probablement idiot, et vous avez déjà de bonnes réponses, mais si vous vous êtes connecté par le passé, vous pouvez vérifier l'historique de votre terminal et / ou ~/.ssh/config.
Sparhawk

Réponses:


24

Vérifiez d'abord le fichier de configuration dont le port est configuré:

$ sudo grep Port /etc/ssh/sshd_config
Port 22

Ensuite, redémarrez sshpour vous assurer qu'il charge la configuration que vous venez de voir ou découvrez sur quel port sshs'exécute:

$ sudo netstat -tpln | egrep '(Proto|ssh)'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12586/sshd

C'est un sshfonctionnement normal sur le port 22.


1
Juste une note: je ne pense pas que vous ayez besoin de sudo
piertoni

Dans la première commande dont vous avez besoin, sudocar le sshdfichier de configuration n'est généralement pas lisible par tout le monde. Dans la seconde, vous devez sudoêtre en mesure de résoudre le Program name, sinon vous ne pouvez voir que le nom des processus exécutés sous votre propre utilisateur.
Marcos Dione

Je suis d'accord avec @piertoni, vous n'avez pas besoin d'exécuter cette commande avec "SUDO".
Amintabar

8

Si vous avez accès au serveur par d'autres moyens, exécutez simplement:

$ sudo grep Port /etc/ssh/sshd_config 
Port NNN

Cela renverra une ligne comme celle montrée ci-dessus où NNNsera le port que vous avez choisi.


3

La manière la plus simple consiste simplement à regarder les fichiers de configuration du serveur SSH:

➜  ~  sudo grep Port /etc/ssh/sshd_config 
   Port 22

Il y a aussi la vérification des ports d'écoute par processus avec lsof:

sudo lsof -Pi | grep ssh

ou toute autre commande de liste de ports comme netstat -lntu.


3

Si vous n'avez pas accès à la console du serveur, vous devrez sonder tous les ports d'un hôte distant. Ces utilitaires sont similaires nmap, mais la couche réseau doit relayer le trafic vers la combinaison spécifique d'hôte (adresse IP) ET de port.


3

Si vous ne disposez pas d'un accès de connexion au serveur, vous pouvez trouver le port SSH en utilisant nmapla fonction "scan de version" de:

nmap -sV -p- <insert target's IP here>

L' -sVoption signifie "version scan" et -p-signifie "scan all ports". Si vous avez une bonne connexion et êtes sûr que vous ne bouleverserez pas le pare-feu ou l'IDS de quelqu'un, vous pouvez ajouter -T5"scan aussi vite que possible". Les résultats ressembleront à ceci:

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)

1
$ sudo netstat -lntp
[sudo] password for XXX:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State        PID/Program name
tcp   0      0      0.0.0.0:22       0.0.0.0:*        LISTEN       2799/sshd
tcp6  0      0      :::22            :::*             LISTEN       2799/sshd
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.