Hoe kom ik erachter op welke poort ik moet inloggen met SSH?

Ik heb op afstand een Ubuntu 10.04 server setup die ik een tijdje geleden heb opgezet. Terwijl ik de gebruikersnaam en het wachtwoord vastlegde, ben ik blijkbaar slim geweest en heb ik de gebruikelijke ssh-poort veranderd van 22 in … iets anders.

Hoe kom ik erachter wat die poort zou kunnen zijn?

Ik heb toegang tot de server via de achterdeur van het hostingbedrijf, dus ik kan alle Unix-commandos uitvoeren die nodig zijn – maar ik kan niet inloggen met een normale putty-shell op mijn machine.

Opmerkingen

  • Dit is waarschijnlijk gek, en je hebt al goede antwoorden, maar als je in het verleden verbinding hebt gemaakt, kun je je terminalgeschiedenis controleren en / of ~/.ssh/config.

Antwoord

Controleer eerst in het configuratiebestand welke poort is geconfigureerd:

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

Start vervolgens ssh opnieuw om ervoor te zorgen dat de configuratie wordt geladen die u zojuist hebt gezien of ontdek op welke poort ssh draait:

$ 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 

Dat “is een normale ssh draait op poort 22.

Opmerkingen

  • Gewoon een opmerking: ik denk niet dat ' niet dat je sudo nodig hebt
  • In het eerste commando heb je sudo nodig omdat het sshd configuratiebestand meestal niet leesbaar is voor iedereen. In de tweede heb je sudo nodig om de Program name te kunnen oplossen, anders kun je alleen de naam zien van de processen die onder jouw eigen proces draaien gebruiker.
  • Ik ben het eens met @piertoni, je hoeft ' deze opdracht niet uit te voeren met " SUDO ".

Antwoord

Als u toegang heeft tot de server op een andere manier, voer gewoon het volgende uit:

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

Dat zal een regel retourneren zoals hierboven getoond, waar NNN zal wees de poort die je hebt gekozen.

Antwoord

De gemakkelijkere manier is door gewoon naar de SSH-serverconfiguratiebestanden te kijken:

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

Er wordt ook gecontroleerd op luisterpoorten per proces met lsof:

sudo lsof -Pi | grep ssh 

of een ander commando met een lijst van poorten zoals netstat -lntu.

Antwoord

Als je hebt geen inlogtoegang tot de server, je kunt de SSH-poort vinden met nmap “s” version scan “-functie:

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

De -sV optie betekent “versie scan”, en -p- betekent “scan alle poorten”. Als je ” Heb een goede verbinding en weet zeker dat je “iemands firewall of IDS niet van streek zult maken, dan kun je -T5 toevoegen voor” scan zo snel mogelijk “. De resultaten zien er ongeveer zo uit:

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

Antwoord

Als u niet “Ik heb geen toegang tot de console van de server”, je moet alle poorten van een verre host onderzoeken. Deze hulpprogrammas zijn vergelijkbaar met nmap, maar de netwerklaag moet verkeer doorsturen naar de specifieke combinatie van host (IP-adres) EN poort.

Antwoord

$ 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 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *