Hur räknar jag ut vilken port jag ska logga in med SSH?

Jag har en Ubuntu 10.04-serverinstallation på distans som jag ställer in för en tid tillbaka. Medan jag spelade in användarnamnet och lösenordet verkar jag ha varit smart och ändrat den vanliga ssh-porten från 22 till … något annat.

Hur får jag reda på vad den porten kan vara?

Jag har åtkomst till servern via värdföretagets bakdörr, så jag kan utföra alla Unix-kommandon som behövs – men jag kan inte logga in med ett normalt kittskal på min maskin.

Kommentarer

  • Det här är förmodligen löjligt, och du har redan bra svar, men om du har anslutit tidigare kan du kontrollera din terminalhistorik och / eller ~/.ssh/config.

Svar

Kontrollera först i konfigurationsfilen vilken port som är konfigurerad:

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

Starta sedan om ssh för att se till att den laddar konfigurationen du just såg eller upptäckte vilken port ssh kör:

$ 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 

Det ”är normalt ssh körs på port 22.

Kommentarer

  • Bara en anteckning: Jag tror inte ' jag tror att du behöver sudo
  • I det första kommandot behöver du sudo eftersom sshd konfigurationsfilen vanligtvis inte är världsläsbar. I den andra behöver du sudo för att kunna lösa Program name, annars kan du bara se namnet på processerna som körs under din egen användare.
  • Jag håller med @piertoni, du behöver inte ' inte köra det här kommandot med " SUDO ".

Svar

Om du har tillgång till servern genom andra sätt, kör bara:

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

Det returnerar en rad som den som visas ovan där NNN kommer vara den hamn du valde.

Svar

Det enklaste sättet är bara att titta på SSH-serverns konfigurationsfiler:

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

Det söks också efter lyssningsportar per process med lsof:

sudo lsof -Pi | grep ssh 

eller andra portkommandon som netstat -lntu.

Svar

Om du har inte inloggningsbehörighet till servern, du kan hitta SSH-porten med nmap ”s” version scan ”-funktionen:

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

Alternativet -sV betyder ”version scan” och -p- betyder ”scan all ports”. Om du ” har en bra anslutning och är säker på att du inte stör någon brandvägg eller IDS, kan du lägga till -T5 för ”skanna så snabbt som möjligt”. Resultaten ser ungefär så ut:

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

Svar

Om du inte ”t har tillgång till serverns konsol, du måste undersöka alla portar från en avlägsen värd. Dessa verktyg är som nmap, men nätverkslagret måste vidarebefordra trafik till den specifika kombinationen av värd (IP-adress) OCH-port.

Svar

$ 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 

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *