ssh Conexiunea refuzată: cum se depanează?

Încerc:

$ ssh eric@myserver 

unde myserver este o mașină din intranet. Pot să fac ping myserver sau să răspund la HTTP pe portul 8080, etc, dar când încerc ssh, primesc

ssh: connect to host myserver port 22: Connection refused 

Eu „folosesc Ubuntu 10.

ps -ax, după cum sugerează, oferă:

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 

Răspuns

Nu aveți un daon SSH rulează. Dacă priviți ieșirea din comanda ps ax, vedeți că singurele două procese cu „ssh” din descriere sunt ssh-agent (care face ceva complet diferit de sshd) și procesul grep ssh pe care îl utilizați pentru a filtra rezultatul ps.

În funcție de distribuția instalată, poate fi necesar să instalați sau să rulați serverul ssh, numit de obicei

sau sshd în funcție de managerul de pachete.

Răspunde

Pași pentru depanarea problemei de mai sus:

  1. Utilizați instrumentul nmap pentru a afla ce porturi sunt deschise în acel server . nmap este un scaner de porturi. Deoarece este posibil ca serverul ssh să ruleze pe un alt port. nmap vă va oferi o listă de porturi deschise.

     $ nmap myserver 

2. Acum puteți verifica ce server rulează pe un anumit port. Să presupunem că în ieșirea nmap, portul 2424 este deschis. Acum puteți ce server rulează pe 2424 utilizând instrumentul nc (netcat).

 $ nc -v -nn myserver portno 

Să presupunem că ieșirea portului 2424 este:

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

Acest lucru înseamnă că ssh rulează pe 2424.

Continuați să schimbați portno-ul din comanda de mai sus și verificați dacă toate porturile listate sunt deschise de nmap.

Răspuns

Asta înseamnă că serverul ssh nu rulează pe acel aparat sau paravanul de protecție nu permite trecerea lui ssh. Puteți verifica dacă ssh rulează cu „ps -ax | grep ssh”.

Comentarii

  • Întrebare editată pentru a afișa rezultatele ps -ax. Nu sunt sigur ce înseamnă.
  • Înseamnă că ssh nu rulează.
  • Ciudat. Nu ' nu sunt sigur de ce ați oferit de două ori un ajutor care nu este de mare ajutor. Mai întâi sugerați o comandă utilă pentru a verifica dacă ssh rulează, fără să-mi spuneți cum să interpretez rezultatele. Apoi, furnizați interpretarea minimă a acestor rezultate, fără un indiciu cu privire la modul în care ați ajuns la interpretarea respectivă sau la ce acțiune ar putea fi potrivită. Nu ' nu sunt sigur dacă încercați să mă ajutați și dacă evaluați greșit nivelul meu de experiență sau dacă încercați să evidențiați ignoranța mea.
  • lista proceselor nu include un proces sshd, ceea ce înseamnă că sshd nu rulează. Soluția este de a începe sshd.

Răspunde

cele două opțiuni anterioare sunt bune. De asemenea, puteți utiliza argumentele -v sau -vv.

$ ssh -vv eric@myserver 

Răspuns

Și eu m-am confruntat cu această problemă, dar într-un mediu VirtualBox, așa că, pentru a o rezolva, trebuie să setăm adresa IP să fie în aceeași rețea LAN segment; de exemplu:

Pe computerul meu gazdă, deschid cmd și introduc ipconfig. Primesc 100.2.2.1 (de exemplu).

Deci, în mașina virtuală trebuie să setăm adresa VM „s în /etc/hosts la o valoare precum 100.2.2.3 , aruncați o privire în numărul final și săriți mașina virtuală, dar înainte de a porni mașina virtuală configurați rețeaua în setările mașinii virtuale, deci trebuie să setăm adaptorul de rețea în conexiunea bridge.

Toate acestea se află într-un mediu Solaris.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *