Snažím se:
$ ssh eric@myserver
kde myserver
je stroj v intranetu. Mohu ping myserver
nebo reagovat na HTTP na portu 8080 atd., ale když zkusím ssh
, dostanu
ssh: connect to host myserver port 22: Connection refused
Používám Ubuntu 10.
ps -ax
, jak navrhuje:
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
Odpověď
Nemáte běží SSH démon. Pokud se podíváte na výstup z příkazu ps ax
, uvidíte, že jediné dva procesy, které mají v popisu „ssh“, jsou ssh-agent
(což dělá něco úplně jiného než sshd
) a proces grep ssh
, který používáte k filtrování výstupu ps
.
V závislosti na nainstalované distribuci možná budete muset nainstalovat nebo spustit server ssh
, obvykle nazývaný
nebo sshd
v závislosti na správci balíčků.
Odpovědět
Kroky pro ladění výše uvedeného problému:
-
Pomocí nástroje
nmap
zjistíte, které porty jsou na daném serveru otevřené. .nmap
je skener portů. Protože je možné, že ssh server běží na jiném portu.nmap
vám poskytne seznam otevřených portů.$ nmap myserver
2. Nyní můžete zkontrolovat, který server běží na daném portu. Předpokládejme, že na výstupu nmap je port 2424 otevřený. Nyní můžete zjistit, který server běží na 2424 pomocí nástroje nc (netcat).
$ nc -v -nn myserver portno
Předpokládejme, že výstupem 2424 je:
myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
To znamená, že ssh běží na 2424.
Stále měňte portno ve výše uvedeném příkazu a zkontrolujte, zda jsou všechny porty, které jsou uvedeny v seznamu, otevřené pomocí nmap.
Odpověď
To znamená, že na tomto stroji není spuštěn ssh server nebo firewall neumožňuje ssh. Můžete zkontrolovat, zda ssh běží s „ps -ax | grep ssh“.
Komentáře
Odpovědět
předchozí dvě možnosti jsou dobré. Můžete také použít argumenty -v
nebo -vv
.
$ ssh -vv eric@myserver
Odpověď
S tímto problémem jsem se setkal také, ale v prostředí VirtualBoxu, abychom jej vyřešili, musíme nastavit IP adresu tak, aby byla ve stejné LAN segment; například:
Na hostitelském počítači otevřete cmd
a napíšu ipconfig
. Mám například 100.2.2.1.
Takže ve virtuálním stroji musíme nastavit adresu VM v /etc/hosts
na hodnotu jako 100.2.2.3 , podívejte se na konečné číslo a odrazte virtuální stroj, ale před spuštěním virtuálního počítače nakonfigurujte síť v nastavení virtuálního počítače, takže musíme nastavit síťový adaptér v připojení mostu.
To vše je v prostředí Solaris.
ps -ax
. Nejste si jisti, co to znamená.ssh
nefunguje.sshd
proces, což znamená, žesshd
není spuštěn. Řešením je začítsshd
.