ssh Připojení odmítnuto: jak řešit problémy?

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:

  1. 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

  • Upravená otázka pro zobrazení výsledků ps -ax. Nejste si jisti, co to znamená.
  • Znamená to, že ssh nefunguje.
  • Divné. ' Nejsem si jistý, proč jste nyní dvakrát nabídli pomoc, která opravdu není užitečná. Nejprve navrhnete příkaz užitečný ke kontrole, zda běží ssh, aniž byste mi řekli, jak interpretovat výsledky. Poté poskytnete minimální interpretaci těchto výsledků, aniž byste naznačili, jak jste k této interpretaci dospěli, nebo jaké kroky by mohly být vhodné. ' si nejsem jistý, zda se mi snažíte pomoci, a špatně odhadujete moji úroveň zkušeností, nebo jestli se snažíte zdůraznit mou nevědomost.
  • seznam procesů neobsahuje sshd proces, což znamená, že sshd není spuštěn. Řešením je začít sshd.

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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *