login ssh refusée: comment dépanner?

J'essaie:

$ ssh eric@myserver 

myserver est une machine dans l'intranet. Je peux pinger myserver ou répondre à HTTP sur le port 8080, etc, mais quand j'essaye ssh , je reçois

 ssh: connect to host myserver port 22: Connection refused 

Je suis un peu nouveau pour linux, et je ne sais pas comment résoudre ce problème. J'utilise Ubuntu 10 si cela count.

Edit: essayer ps -ax , comme suggéré donne:

 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 

Vous n'avez pas de démon SSH en cours d'exécution. Si vous regardez la sortie de la command ps ax , vous voyez que les deux seuls process avec 'ssh' dans la description sont ssh-agent (qui fait quelque chose de complètement différent de sshd ) et le process grep ssh que vous utilisez filterz la sortie de ps .

Selon la dissortingbution installée, vous devrez peut-être installer ou exécuter le server ssh , généralement appelé openssh-server ou sshd fonction de votre gestionnaire de packages.

Étapes pour déboguer le problème ci-dessus:

  1. Utilisez l'outil nmap pour savoir quels ports sont ouverts sur ce server. nmap est un scanner de ports. Comme il est possible que le server ssh s'exécute sur un port différent. nmap vous donnera une list des ports qui sont ouverts.

      $ nmap myserver 

2. Vous pouvez maintenant vérifier quel server est en cours d'exécution sur un port donné. Supposons dans la sortie de nmap, le port 2424 est ouvert. Maintenant vous pouvez quel server fonctionne sur 2424 en utilisant l'outil nc (netcat).

  $ nc -v -nn myserver portno 

Supposons que la sortie du port 2424 soit:

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

Cela signifie que ssh fonctionne sur 2424.

Continuez à changer le portno dans la command ci-dessus et vérifiez tous les ports listés ouverts par nmap.

Cela signifie que le server ssh ne s'exécute pas sur cette machine ou que le pare-feu n'autorise pas ssh through. Vous pouvez vérifier si ssh fonctionne avec 'ps -ax | grep ssh '.

Les deux précédentes options sont bonnes. Vous pouvez également utiliser les arguments -v ou -vv .

 $ ssh -vv eric@myserver 

J'ai également fait face à ce problème, mais dans un environnement VirtualBox, pour le résoudre, nous devons définir l'adresse IP dans le même segment LAN; par exemple:

Sur ma machine hôte, j'ouvre la command cmd et tape ipconfig . J'obtiens 100.2.2.1 (par exemple).

Ainsi, dans la machine virtuelle, nous devons définir l'adresse de la machine virtuelle dans /etc/hosts à une valeur telle que 100.2.2.3, examiner le numéro final et faire rebondir la machine virtuelle, mais avant de démarrer la machine virtuelle, configurez le réseau parameters de la machine virtuelle, nous devons donc définir la carte réseau dans la connection pont.

Tout cela dans un environnement Solaris.