Jag försöker:
$ ssh eric@myserver
där myserver är en maskin i intranätet. Jag kan pinga myserver eller svara på HTTP på port 8080, etc, men när jag försöker ssh, jag får
ssh: connect to host myserver port 22: Connection refused
Jag ”använder Ubuntu 10.
ps -ax, som föreslås ger:
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
Svar
Du har inte en SSH-demon kör. Om du tittar på utdata från kommandot ps ax ser du att de enda två processerna med” ssh ”i beskrivningen är ssh-agent (som gör något helt annat än sshd) och grep ssh -processen som du använder för att filtrera utdata från ps.
Beroende på vilken distribution som är installerad kan du behöva installera eller köra ssh -servern, vanligtvis kallad
eller sshd beroende på din pakethanterare.
Svar
Steg för felsökning av ovanstående problem:
-
Använd
nmapför att veta vilka portar som är öppna på den servern .nmapär en portskanner. Eftersom det kan vara möjligt att ssh-servern körs på en annan port.nmapger dig en lista över öppna portar.$ nmap myserver
2. Nu kan du kontrollera vilken server som körs på en viss port. Antag att i porten på nmap är port 2424 öppen. Nu kan du välja vilken server som körs på 2424 med hjälp av verktyget nc (netcat).
$ nc -v -nn myserver portno
Antag att utgången från 2424-porten är:
myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
Detta betyder att ssh körs 2424.
Fortsätt ändra portnumret i kommandot ovan och kontrollera om alla portar som listas öppna med nmap.
Svar
Det betyder antingen att ssh-servern inte körs på den maskinen eller så att brandväggen inte tillåter att ssh går igenom. Du kan kontrollera om ssh körs med ”ps -ax | grep ssh”.
Kommentarer
Svar
tidigare två alternativ är bra. Du kan också använda argumenten -v eller -vv.
$ ssh -vv eric@myserver
Svar
Jag stod också inför detta problem, men i en VirtualBox-miljö, så för att lösa det måste vi ställa in IP-adressen för att vara i samma LAN segmentet; till exempel:
På min värdmaskin öppnar jag cmd och skriver ipconfig. Jag får 100.2.2.1 (till exempel).
Så i den virtuella maskinen måste vi ställa in VM-adressen i /etc/hosts till ett värde som 100.2.2.3 , titta på det slutliga numret och studsa den virtuella maskinen, men innan den virtuella maskinen startas konfigurerar du nätverket i inställningarna för den virtuella maskinen, så vi måste ställa in nätverksadaptern i brygganslutning.
Allt detta är i en Solaris-miljö.
ps -ax. Inte säker på vad det betyder.sshinte körs.sshd-process, vilket innebär attsshdinte körs. Lösningen är att startasshd.