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

17

Próbuję:

$ ssh eric@myserver

gdzie myserverjest maszyna w intranecie. Mogę pingować myserverlub odpowiadać na HTTP na porcie 8080 itp., Ale kiedy próbuję ssh, dostaję

ssh: connect to host myserver port 22: Connection refused

Używam Ubuntu 10.

ps -ax, zgodnie z sugestią daje:

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
Eric Wilson
źródło

Odpowiedzi:

15

Nie masz uruchomionego demona SSH. Jeśli spojrzysz na wynik ps axpolecenia, zobaczysz, że jedynymi dwoma procesami z 'ssh' w opisie sąssh-agent (co robi coś zupełnie innego niż sshd) i grep sshproces, którego używasz do filtrowania wyniku ps.

W zależności od zainstalowanej dystrybucji może być konieczne zainstalowanie lub uruchomienie sshserwera, zwykle wywoływanego openssh-serverlub sshdzależnego od menedżera pakietów.

Shadur
źródło
13

Kroki debugowania powyższego problemu:

  1. Użyj nmapnarzędzia, aby dowiedzieć się, które porty są otwarte na tym serwerze. nmapto skaner portów. Ponieważ możliwe jest, że serwer ssh działa na innym porcie. nmapda ci listę portów, które są otwarte.

     $ nmap myserver
    

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

 $ nc -v -nn myserver portno

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

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

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

Zmieniaj portno w powyższym poleceniu i sprawdź, czy wszystkie porty, które są wymienione jako otwarte przez nmap.

pradeepchhetri
źródło
3

Oznacza to, że albo serwer ssh nie działa na tym komputerze, albo zapora sieciowa nie zezwala na ssh. Możesz sprawdzić, czy ssh działa z 'ps -ax | grep ssh ”.

David Schwartz
źródło
Edytowane pytanie, aby pokazać wyniki ps -ax. Nie jestem pewien, co to znaczy.
Eric Wilson,
1
Oznacza sshto, że nie działa.
David Schwartz,
1
Dziwne. Nie jestem pewien, dlaczego już dwukrotnie zaoferowałeś pomoc, która nie jest tak naprawdę pomocna. Najpierw sugerujesz polecenie przydatne do sprawdzenia, czy ssh jest uruchomiony, bez mówienia mi, jak interpretować wyniki. Następnie podajesz minimalną interpretację tych wyników, bez podpowiedzi, jak 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ę.
Eric Wilson,
3
Lista procesów nie obejmuje sshdprocesu, co oznacza, że sshdnie jest uruchomiony. Rozwiązaniem jest zacząć sshd.
David Schwartz,
1

Dwie poprzednie opcje są dobre. Możesz także użyć argumentów -vlub -vv.

$ ssh -vv eric@myserver
frogstarr78
źródło
0

Też napotkałem ten problem, ale w środowisku VirtualBox, więc aby go rozwiązać, musimy ustawić adres IP tak, aby był w tym samym segmencie sieci LAN; na przykład:

Na komputerze-hoście otwieram cmdi piszę ipconfig. Dostaję 100.2.2.1 (na przykład).

Tak więc na maszynie wirtualnej musimy ustawić adres maszyny wirtualnej na /etc/hostswartość 100.2.2.3, spojrzeć na ostateczną liczbę i odbić maszynę wirtualną, ale przed uruchomieniem maszyny wirtualnej skonfiguruj sieć w ustawieniach maszyny wirtualnej maszynę, więc musimy ustawić kartę sieciową w połączeniu mostkowym.

Wszystko to odbywa się w środowisku Solaris.

Luis Torres
źródło