Jestem nowy w używaniu ssh i powiązanych technologii, więc jest bardzo możliwe, że nie rozumiem czegoś podstawowego. (Może to być również pytanie o awarię serwera ... nie jestem pewien.)
Próbuję ssh na serwerze sieciowym (którego jestem właścicielem) i połączenie nigdy nie jest ustanawiane z powodu przekroczenia limitu czasu.
~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out
Moją pierwszą myślą było to, że jakoś źle określiłem domenę lub że coś jest nie tak z moją witryną. Więc próbowałem połączyć się z tą samą domeną przez FTP i to działało dobrze (został poproszony o nazwę użytkownika):
~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):
Więc pomyślałem, że może źle wykorzystałem SSH. Zacząłem oglądać ten film instruktażowy . Po około 1 minucie robi ssh [email protected]
i wyświetla monit o nazwę użytkownika, ale daje mi to ten sam limit czasu, co powyżej. Potem spróbowałem, ssh google.com
co robi to samo. ssh localhost
z drugiej strony działa dobrze. Problem wydaje się więc mieć związek z żądaniami SSH przesyłanymi przez sieć.
Moją kolejną myślą było to, że może to być problem zapory ogniowej. Mam Sophos zainstalowany na tym komputerze, ale według mojego administratora „nie powinien” blokować wychodzących żądań SSH.
Czy ktoś może pomóc dowiedzieć się, dlaczego tak się dzieje?
Odpowiedzi:
Ten komunikat o błędzie oznacza, że serwer, z którym się łączysz, nie odpowiada na próby połączenia SSH na porcie 22. Istnieją trzy możliwe przyczyny:
ssh -p 2222 hostname
.EDYCJA : jak (słusznie) wskazano w komentarzach, trzeci z pewnością ma miejsce; pozostałe dwa spowodowałyby, że serwer odesłałby pakiet TCP „reset” z powrotem przy próbie połączenia klienta, co spowodowałoby komunikat o błędzie „odmowa połączenia”, a nie przekroczenie limitu czasu. Inne dwa również mogą tak być, ale najpierw musisz naprawić trzeci, aby móc przejść dalej.
źródło
ssh
innych usług.Sprawdź za pomocą polecenia telnet, czy możesz połączyć się z portem SSH 22. Jeśli nie możesz się połączyć, sprawdź go. Najpierw powinieneś być w stanie połączyć się na porcie nr. 22 do serwera.
Domyślnie port SSH to 22. Ale jeśli skonfigurowałeś inny port, użyj tego portu zamiast 22.
telnet <ip / url serwera> <port>
np. telnet domain.com 22
źródło
ssh -v
dziennik pokazałby, że połączenie się powiodło, zamiast mówić, żesudo netstat -a64np
(netstat
) i wyszukaćsshd
serwer (ostatnia kolumna). Jeśli nie masz dostępu, możesz spróbowaćnmap
.