Wie finde ich heraus, an welchem ​​Port ich mich mit SSH anmelden soll?

14

Ich habe einen Ubuntu 10.04-Server remote eingerichtet, den ich vor einiger Zeit eingerichtet habe. Während ich den Benutzernamen und das Passwort aufzeichnete, schien ich schlau gewesen zu sein und habe den üblichen SSH-Port von 22 auf ... etwas anderes geändert.

Wie finde ich heraus, was dieser Port sein könnte?

Ich habe über die Hintertür des Hosting-Unternehmens Zugriff auf den Server, sodass ich alle erforderlichen Unix-Befehle ausführen kann. Ich kann mich jedoch nicht mit einer normalen Putty-Shell auf meinem Computer anmelden.

bharal
quelle
Dies ist wahrscheinlich albern, und Sie haben bereits gute Antworten, aber wenn Sie in der Vergangenheit eine Verbindung hergestellt haben, können Sie den Verlauf Ihres Terminals überprüfen und / oder ~/.ssh/config.
Sparhawk

Antworten:

24

Überprüfen Sie zunächst in der Konfigurationsdatei, welcher Port konfiguriert ist:

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

sshStarten Sie dann entweder neu , um sicherzustellen, dass die gerade gesehene Konfiguration geladen wird, oder ermitteln Sie, auf welchem ​​Port ausgeführt sshwird:

$ 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

Das ist ein normaler sshLauf auf Port 22.

Marcos Dione
quelle
1
Nur ein Hinweis: Ich glaube nicht , dass Sie sudo braucht
piertoni
Im ersten Befehl benötigen Sie, sudoweil normalerweise die sshdKonfigurationsdatei nicht von der Welt lesbar ist. In der Sekunde müssen Sie sudoin der Lage sein, das aufzulösen Program name, sonst können Sie nur den Namen für die Prozesse sehen, die unter Ihrem eigenen Benutzer laufen.
Marcos Dione
Ich stimme @piertoni zu, Sie müssen diesen Befehl nicht mit "SUDO" ausführen.
Amintabar
8

Wenn Sie auf andere Weise auf den Server zugreifen können, führen Sie einfach Folgendes aus:

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

Dadurch wird eine Zeile wie die oben gezeigte zurückgegeben, in NNNder sich der von Ihnen gewählte Port befindet.

terdon
quelle
3

Der einfachere Weg besteht darin, sich nur die SSH-Serverkonfigurationsdateien anzusehen:

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

Es wird auch geprüft, ob Ports pro Prozess empfangsbereit sind lsof:

sudo lsof -Pi | grep ssh

oder irgendeinen anderen Ports auflisten Befehl wie netstat -lntu.

Braiam
quelle
3

Wenn Sie keinen Zugriff auf die Serverkonsole haben, müssen Sie alle Ports von einem entfernten Host prüfen. Diese Dienstprogramme entsprechen denen nmap, jedoch muss die Netzwerkschicht den Datenverkehr an die bestimmte Kombination aus Host (IP-Adresse) UND Port weiterleiten.

Archemar
quelle
2

Wenn Sie keinen Anmeldezugriff auf den Server haben, können Sie den SSH-Port mithilfe nmapder Funktion "Versionssuche" ermitteln:

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

Die -sVOption bedeutet "Versionsscan" und -p-"Alle Ports scannen". Wenn Sie eine gute Verbindung haben und sicher sind, dass Sie die Firewall oder IDS einer anderen Person nicht durcheinander bringen, können Sie -T5"So schnell wie möglich scannen" hinzufügen . Die Ergebnisse sehen ungefähr so ​​aus:

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)
Kennzeichen
quelle
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
MJD
quelle