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 .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
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.ssh
nie działa.sshd
, co oznacza, żesshd
nie jest uruchomiony. Rozwiązaniem jest rozpoczęciesshd
.