Hogyan tudom kideríteni, melyik portra kell bejelentkezni az SSH-val?

Van egy távoli Ubuntu 10.04 kiszolgálóm, amelyet egy ideje beállítottam. Miközben rögzítettem a felhasználónevet és a jelszót, úgy tűnik, ügyes voltam, és a szokásos ssh portot 22-ről … valamire változtattam.

Hogyan tudom meg, hogy mi lehet az a port?

Hozzáférem a szerverhez a tárhely társaság hátsó ajtaján keresztül, így minden szükséges Unix-parancsot végrehajthatok – de nem tudok bejelentkezni a gépem normál puttonyhéjával.

Megjegyzések

  • Ez valószínűleg butaság, és már vannak jó válaszai, de ha korábban csatlakozott, ellenőrizheti a terminál előzményeit és / vagy ~/.ssh/config.

Válasz

Először ellenőrizze a konfigurációs fájlban, hogy melyik port van konfigurálva:

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

Ezután indítsa újra a következőt: ssh, hogy megbizonyosodjon arról, hogy betölti az imént látott konfigurációt, vagy megtudta melyik port ssh fut:

$ 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 

Ez normális ssh fut a 22. porton.

Megjegyzések

  • Csak egy megjegyzés: Nem hiszem, hogy ' szerintem szükséged van sudóra
  • Az első parancsban sudo szükséges, mert általában a sshd konfigurációs fájl nem olvasható a világon. A másodikban az sudo szükséges, hogy megoldhassa az Program name fájlt, különben csak a saját nevén futó folyamatok nevét láthatja felhasználó.
  • Egyetértek @piertoni véleményével, nem kell, hogy ' ne futtassa ezt a parancsot " SUDO ".

Válasz

Ha van hozzáférése a szerverhez más módon egyszerűen futtassa:

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

Ez egy olyan sort ad vissza, mint a fent látható, ahol NNN legyen a választott kikötő.

Válasz

A könnyebb módszer az SSH szerver konfigurációs fájljainak megtekintése:

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

A lsof: folyamatonként ellenőrzi a hallgatási portokat is:

sudo lsof -Pi | grep ssh 

vagy bármely más portot felsoroló parancs, például netstat -lntu.

Válasz

Ha nincs bejelentkezési hozzáférése a szerverhez, az SSH portot a nmap “s” verziószkennelés “funkcióval találhatja meg:

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

A -sV opció jelentése “verziószkennelés”, a -p- pedig az “összes port beolvasása”. Ha ” Jó a kapcsolata, és biztos benne, hogy nem fogja megzavarni valakinek a tűzfalát vagy az IDS-jét, hozzáadhatja a -T5 parancsot a “lehető leggyorsabb szkenneléshez”. Az eredmények így fognak kinézni:

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

Válasz

Ha nem “nincs hozzáférése a szerver konzoljához, akkor az összes portot át kell vizsgálnia egy távoli állomásról. Ezek a segédprogramok olyanok, mint a nmap, azonban a hálózati rétegnek továbbítania kell a forgalmat a a gazdagép (IP-cím) ÉS a port konkrét kombinációja.

Válasz

$ 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 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük