ssh Connection vägrade: hur felsöker jag?

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:

  1. Använd nmap fö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. nmap ger 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

  • Redigerad fråga för att visa resultat av ps -ax. Inte säker på vad det betyder.
  • Det betyder att ssh inte körs.
  • Konstigt. Jag ' är inte säker på varför du nu två gånger har erbjudit hjälp som inte är riktigt bra. Först föreslår du ett kommando som är användbart för att kontrollera om ssh körs, utan att berätta för mig hur man ska tolka resultaten. Sedan ger du den minimala tolkningen av dessa resultat, utan en antydan till hur du kom till den tolkningen, eller vilken åtgärd som kan vara lämplig. Jag ' är inte säker på om du försöker hjälpa mig och missbedömer min erfarenhet eller om du försöker lyfta fram min okunnighet.
  • processlistan innehåller inte en sshd -process, vilket innebär att sshd inte körs. Lösningen är att starta sshd.

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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *