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
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 konfiguracyjnysshd
nie jest czytelny dla wszystkich. W drugim przypadku potrzebujeszsudo
, aby móc rozwiązać problemProgram 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
~/.ssh/config
.