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:
-
Użyj narzędzia
nmap, aby dowiedzieć się, które porty są otwarte na tym serwerze .nmapto skaner portów. Ponieważ może się zdarzyć, że serwer ssh działa na innym porcie.nmapwyś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
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.
ps -ax. Nie jestem pewien, co to znaczy.sshnie działa.sshd, co oznacza, żesshdnie jest uruchomiony. Rozwiązaniem jest rozpoczęciesshd.