Odmowa połączenia ssh: jak rozwiązać problem?

Próbuję:

$ ssh eric@myserver 

gdzie myserver to maszyna w intranecie. Mogę pingować myserver lub odpowiedzieć na HTTP na porcie 8080 itd., ale kiedy spróbuję ssh, otrzymuję

ssh: connect to host myserver port 22: Connection refused 

Używam Ubuntu 10.

ps -ax, jak sugerowano, podaje:

eric@Isaiah:~$ ps -ax | grep ssh Warning: bad ps syntax, perhaps a bogus "-"? See http://procps.sf.net/faq.html 1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session 18376 pts/3 S+ 0:00 grep --color=auto ssh 

Odpowiedź

Nie masz działa demon SSH. Jeśli spojrzysz na dane wyjściowe polecenia ps ax, zobaczysz, że jedyne dwa procesy z „ssh” w opisie to ssh-agent (który robi coś zupełnie innego niż sshd) i proces grep ssh, którego „używasz do filtrowania wyjścia ps.

W zależności od zainstalowanej dystrybucji może być konieczne zainstalowanie lub uruchomienie serwera ssh, zwykle nazywanego

lub sshd w zależności od menedżera pakietów.

Odpowiedź

Kroki do debugowania powyższego problemu:

  1. Użyj narzędzia nmap, aby dowiedzieć się, które porty są otwarte na tym serwerze . nmap to skaner portów. Ponieważ może się zdarzyć, że serwer ssh działa na innym porcie. nmap wyświetli listę otwartych portów.

     $ nmap myserver 

2. Teraz możesz sprawdzić, który serwer działa na danym porcie. Załóżmy, że w danych wyjściowych nmap port 2424 jest otwarty. Teraz możesz sprawdzić, który serwer działa na 2424 za pomocą narzędzia nc (netcat).

 $ nc -v -nn myserver portno 

Załóżmy, że wyjście 2424 portu to:

myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5 

Oznacza to, że ssh działa na 2424.

Kontynuuj zmienianie numeru portu w powyższym poleceniu i sprawdź wszystkie porty, które są otwarte przez nmap.

Odpowiedź

Oznacza to, że serwer ssh nie działa na tej maszynie lub firewall nie pozwala na ssh. Możesz sprawdzić, czy ssh działa z „ps -ax | grep ssh”.

Komentarze

  • Pytanie edytowane, aby pokazać wyniki ps -ax. Nie jestem pewien, co to znaczy.
  • To znaczy, że ssh nie działa.
  • Dziwne. ' Nie jestem pewien, dlaczego dwukrotnie zaoferowałeś pomoc, która nie jest zbyt pomocna. Najpierw sugerujesz polecenie przydatne do sprawdzenia, czy ssh działa, bez mówienia mi, jak zinterpretować wyniki. Następnie podajesz minimalną interpretację tych wyników, bez podpowiedzi, w jaki sposób doszedłeś do tej interpretacji lub jakie działanie może być właściwe. ' Nie jestem pewien, czy próbujesz mi pomóc i źle oceniasz mój poziom doświadczenia, czy też próbujesz podkreślić moją ignorancję.
  • lista procesów nie zawiera procesu sshd, co oznacza, że sshd nie jest uruchomiony. Rozwiązaniem jest rozpoczęcie sshd.

Odpowiedź

poprzednie dwie opcje są dobre. Możesz również użyć argumentów -v lub -vv.

$ ssh -vv eric@myserver 

Odpowiedź

Też napotkałem ten problem, ale w środowisku VirtualBox, więc aby go rozwiązać, musimy ustawić adres IP, aby znajdował się w tej samej sieci LAN człon; na przykład:

Na moim komputerze głównym otwieram cmd i wpisuję ipconfig. Otrzymuję 100.2.2.1 (na przykład).

Więc w maszynie wirtualnej musimy ustawić adres maszyny wirtualnej w /etc/hosts na wartość taką jak 100.2.2.3 , spójrz na ostateczną liczbę i odbij maszynę wirtualną, ale przed uruchomieniem maszyny wirtualnej skonfiguruj sieć w ustawieniach maszyny wirtualnej, więc musimy ustawić kartę sieciową w połączeniu mostkowym.

Wszystko to w środowisku Solaris.

Dodaj komentarz

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