Come faccio a capire a quale porta accedere con SSH?


15

Ho un server Ubuntu 10.04 installato da remoto che ho installato qualche tempo fa. Mentre ho registrato il nome utente e la password, mi sembra di essere stato intelligente e ho cambiato la solita porta SSH da 22 a ... qualcos'altro.

Come faccio a sapere quale potrebbe essere quella porta?

Ho accesso al server tramite la backdoor della società di hosting, quindi posso eseguire qualunque comando Unix sia necessario, ma non riesco ad accedere usando una normale shell putty sulla mia macchina.


Questo è probabilmente sciocco e hai già buone risposte, ma se ti sei collegato in passato, potresti controllare la cronologia del tuo terminale e / o ~/.ssh/config.
Sparhawk,

Risposte:


24

Prima controlla sul file di configurazione quale porta è configurata:

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

Quindi riavviare sshper assicurarsi che carichi la configurazione appena vista o scoprire su quale porta sshè in esecuzione:

$ 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

È un normale sshfunzionamento sulla porta 22.


1
Solo una nota: non credo che tu abbia bisogno di sudo
piertoni il

Nel primo comando è necessario sudoperché di solito il sshdfile di configurazione non è leggibile dal mondo. Nel secondo devi sudoessere in grado di risolvere il Program name, altrimenti puoi vedere solo il nome per i processi in esecuzione sotto il tuo stesso utente.
Marcos Dione,

Sono d'accordo con @piertoni, non è necessario eseguire questo comando con "SUDO".
Amintabar,

8

Se hai accesso al server con altri mezzi, esegui semplicemente:

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

Ciò restituirà una linea come quella mostrata sopra dove NNNsarà la porta che hai scelto.


3

Il modo più semplice è solo guardare i file di configurazione del server SSH:

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

C'è anche il controllo delle porte di ascolto per processo con lsof:

sudo lsof -Pi | grep ssh

o qualsiasi altro comando di elenco porte come netstat -lntu.


3

Se non hai accesso alla console del server, dovrai sondare tutte le porte da un host distante. Queste utilità sono simili nmap, tuttavia il livello di rete deve inoltrare il traffico alla combinazione specifica di host (indirizzo IP) E porta.


3

Se non si dispone dell'accesso di accesso al server, è possibile trovare la porta SSH utilizzando nmapla funzione "Scansione versione":

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

L' -sVopzione significa "scansione versione" e -p-"scansione di tutte le porte". Se hai una buona connessione e sei sicuro che non sconvolgerai il firewall o gli IDS di qualcuno, puoi aggiungere -T5"scansiona il più velocemente possibile". I risultati saranno simili a questo:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.