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:
-
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
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ø.
ps -ax
. Ikke sikker på hva det betyr.ssh
ikke kjører.sshd
prosess, noe som betyr atsshd
ikke kjører. Løsningen er å startesshd
.