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
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 hetsshd
configuratiebestand meestal niet leesbaar is voor iedereen. In de tweede heb jesudo
nodig om deProgram 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
~/.ssh/config
.