ssh Connection nægtede: hvordan man fejler?

Jeg prøver:

$ ssh eric@myserver 

hvor myserver er en maskine 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 

I “m ved hjælp af Ubuntu 10.

ps -ax, som foreslået giver:

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-dæmon, der kører. Hvis du ser på output fra kommandoen ps ax, ser du, at de eneste to processer med “ssh” i beskrivelsen er ssh-agent (som gør noget helt andet end sshd) og grep ssh -processen, som du bruger til at filtrere output fra ps.

Afhængigt af hvilken installation der er installeret, skal du muligvis installere eller køre ssh -serveren, normalt kaldet

eller sshd afhængigt af din pakkehåndtering.

Svar

Trin til fejlfinding af ovenstående problem:

  1. Brug nmap værktøj til at vide, hvilke porte der er åbne på den server . nmap er en havnescanner. Da det kan være muligt, at ssh-server kører på en anden port. nmap giver dig en liste over åbne porte.

     $ nmap myserver 

2. Nu kan du kontrollere, hvilken server der kører på en given port. Antag, at i porten af nmap er port 2424 åben. Nu kan du se, hvilken server der kører på 2424 ved hjælp af værktøjet nc (netcat).

 $ nc -v -nn myserver portno 

Antag, at output fra 2424-port er:

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

Dette betyder, at ssh kører på 2424.

Fortsæt med at ændre portno i ovenstående kommando og kontroller for alle de porte, der er anført åbne ved nmap.

Svar

Det betyder, at enten ssh-serveren ikke kører på denne maskine, eller firewallen ikke tillader ssh igennem. Du kan kontrollere, om ssh kører med “ps -ax | grep ssh”.

Kommentarer

  • Redigeret spørgsmål for at vise resultater af ps -ax. Ikke sikker på, hvad det betyder.
  • Det betyder, at ssh kører ikke.
  • Underligt. Jeg ' er ikke sikker på, hvorfor du to gange nu har tilbudt hjælp, der ikke er virkelig nyttig. Først foreslår du en kommando, der er nyttig til at kontrollere, om ssh kører uden at fortælle mig, hvordan resultaterne skal fortolkes. Derefter giver du den minimale fortolkning af disse resultater uden et antydning til, hvordan du nåede frem til denne fortolkning, eller hvilken handling der kunne være passende. Jeg ' er ikke sikker på, om du prøver at hjælpe mig og misbedømmer mit erfaringsniveau, eller om du prøver at fremhæve min uvidenhed.
  • listen over processer inkluderer ikke en sshd -proces, hvilket betyder at sshd ikke kører. Løsningen er at starte sshd.

Svar

de to foregående muligheder er gode. Du kan også bruge argumenterne -v eller -vv.

$ ssh -vv eric@myserver 

Svar

Jeg stod også over for dette problem, men i et VirtualBox-miljø, så for at løse det er vi nødt til at indstille IP-adressen til at være i samme LAN segment; for eksempel:

På min værtsmaskine åbner jeg cmd og skriver ipconfig. Jeg får 100.2.2.1 (for eksempel).

Så i den virtuelle maskine skal vi indstille VM-adressen i /etc/hosts til en værdi som 100.2.2.3 , kig ind i det endelige nummer, og hopp over den virtuelle maskine, men inden opstart konfigurerer den virtuelle maskine netværket i indstillingerne på den virtuelle maskine, så vi skal indstille netværksadapteren i broforbindelse. p> Alt dette er i et Solaris-miljø.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *