ssh Connection nektet: hvordan feilsøke?

Jeg prøver:

$ ssh eric@myserver 

der myserver er en maskin i intranettet. Jeg kan pinge myserver eller svare på HTTP på port 8080 osv., men når jeg prøver ssh, jeg får

ssh: connect to host myserver port 22: Connection refused 

Jeg benytter Ubuntu 10.

ps -ax, som foreslått gir:

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 ikke en SSH-demon som kjører. Hvis du ser på utdataene fra ps ax -kommandoen, ser du at de eneste to prosessene med «ssh» i beskrivelsen er ssh-agent (som gjør noe helt annet enn sshd) og grep ssh -prosessen du bruker for å filtrere utdata fra ps.

Avhengig av hvilken distribusjon som er installert, kan det hende du må installere eller kjøre ssh -serveren, vanligvis kalt

eller sshd avhengig av pakkebehandling.

Svar

Fremgangsmåte for feilsøking av problemet ovenfor:

  1. Bruk nmap verktøy for å vite hvilke porter som er åpne på den serveren . nmap er en portskanner. Siden det kan være mulig at ssh server kjører på en annen port. nmap gir deg en liste over åpne porter.

     $ nmap myserver 

2. Nå kan du sjekke hvilken server som kjører på en gitt port. Anta at i utgangen av nmap er port 2424 åpen. Nå kan du hvilken server som kjører på 2424 ved å bruke verktøyet nc (netcat).

 $ nc -v -nn myserver portno 

Anta at utgangen fra 2424-porten er:

myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5 

Dette betyr at ssh kjører 2424.

Fortsett å endre portno i kommandoen ovenfor og se etter alle portene som er oppført med nmap.

Svar

Det betyr at ssh-serveren ikke kjører på maskinen eller at brannmuren ikke lar ssh gjennom. Du kan sjekke om ssh kjører med «ps -ax | grep ssh».

Kommentarer

  • Redigert spørsmål for å vise resultater av ps -ax. Ikke sikker på hva det betyr.
  • Det betyr at ssh ikke kjører.
  • Rart. Jeg ' er ikke sikker på hvorfor du to ganger nå har tilbudt hjelp som ikke er veldig nyttig. Først foreslår du en kommando som er nyttig for å sjekke om ssh kjører, uten å fortelle meg hvordan resultatene skal tolkes. Deretter gir du den minimale tolkningen av disse resultatene, uten et hint om hvordan du kom til den tolkningen, eller hvilken handling som kan være hensiktsmessig. Jeg ' er ikke sikker på om du prøver å hjelpe meg, og feilvurderer mitt erfaringsnivå, eller om du prøver å fremheve min uvitenhet.
  • prosesslisten inkluderer ikke en sshd prosess, noe som betyr at sshd ikke kjører. Løsningen er å starte sshd.

Svar

de to foregående alternativene er gode. Du kan også bruke argumentene -v eller -vv.

$ ssh -vv eric@myserver 

Svar

Jeg sto også overfor dette problemet, men i et VirtualBox-miljø, så for å løse det, må vi stille IP-adressen til å være i samme LAN segmentet; for eksempel:

På vertsmaskinen min åpner jeg cmd og skriver ipconfig. Jeg får 100.2.2.1 (for eksempel).

Så i den virtuelle maskinen må vi sette VM-adressen i /etc/hosts til en verdi som 100.2.2.3 , ta en titt på det endelige nummeret, og sprett den virtuelle maskinen, men før du starter den virtuelle maskinen, konfigurer nettverket i innstillingene til den virtuelle maskinen, så vi må sette nettverksadapteren i broforbindelse.

Alt dette er i et Solaris-miljø.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *