Jak sprawdzić, do którego portu zalogować się za pomocą protokołu SSH?

Mam zdalną konfigurację serwera Ubuntu 10.04, którą konfigurowałem jakiś czas temu. Kiedy zapisałem nazwę użytkownika i hasło, wydaje mi się, że byłem sprytny i zmieniłem zwykły port ssh z 22 na … coś innego.

Jak mogę się dowiedzieć, jaki może być ten port?

Mam dostęp do serwera przez tylne drzwi firmy hostingowej, więc mogę wykonywać wszelkie potrzebne polecenia Uniksa – ale nie mogę zalogować się przy użyciu zwykłej powłoki szpachlowej na moim komputerze.

Komentarze

  • To prawdopodobnie głupie i masz już dobre odpowiedzi, ale jeśli łączyłeś się w przeszłości, możesz sprawdzić historię terminala i / lub ~/.ssh/config.

Odpowiedź

Najpierw sprawdź w pliku konfiguracyjnym, który port jest skonfigurowany:

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

Następnie zrestartuj ssh, aby upewnić się, że załaduje konfigurację, którą właśnie zobaczyłeś, lub na której się dowiesz który port ssh jest uruchomiony:

$ 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 

To normalne ssh działa na porcie 22.

Komentarze

  • Tylko uwaga: nie ' nie sądzę, że potrzebujesz sudo
  • W pierwszym poleceniu potrzebujesz sudo, ponieważ zwykle plik konfiguracyjny sshd nie jest czytelny dla wszystkich. W drugim przypadku potrzebujesz sudo, aby móc rozwiązać problem Program name, w przeciwnym razie zobaczysz tylko nazwy procesów działających pod Twoim własnym użytkownika.
  • Zgadzam się z @piertoni, nie ' nie musisz uruchamiać tego polecenia z " SUDO ".

Odpowiedź

Jeśli masz dostęp do serwera w inny sposób, po prostu uruchom:

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

To zwróci wiersz podobny do pokazanego powyżej, gdzie NNN zwróci być portem, który wybrałeś.

Odpowiedź

Prostszym sposobem jest po prostu przejrzenie plików konfiguracyjnych serwera SSH:

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

Sprawdza się również porty nasłuchiwania na proces z lsof:

sudo lsof -Pi | grep ssh 

lub inne polecenie wyświetlające porty, takie jak netstat -lntu.

Odpowiedz

Jeśli nie masz dostępu do logowania do serwera, możesz znaleźć port SSH za pomocą funkcji nmap „s” skanowanie wersji „:

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

Opcja -sV oznacza „skanowanie wersji”, a -p- oznacza „skanowanie wszystkich portów”. Jeśli „ Jeśli masz dobre połączenie i jesteś pewien, że nie będziesz zakłócać czyjegoś firewalla lub IDS, możesz dodać -T5 dla „skanuj tak szybko, jak to możliwe”. Wyniki będą wyglądać mniej więcej tak:

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

Odpowiedź

Jeśli nie „Nie masz dostępu do konsoli serwera”, będziesz musiał sondować wszystkie porty z odległego hosta. Te narzędzia to nmap, jednak warstwa sieciowa musi przekazywać ruch do określoną kombinację hosta (adresu IP) ORAZ portu.

Odpowiedź

$ 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 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *