ssh Verbindung abgelehnt: Wie kann man Fehler beheben?

Ich versuche:

$ ssh eric@myserver 

wobei myserver ist ein Computer im Intranet. Ich kann myserver pingen oder auf HTTP an Port 8080 usw. antworten, aber wenn ich ssh, ich erhalte

ssh: connect to host myserver port 22: Connection refused 

Ich verwende Ubuntu 10.

ps -ax, wie vorgeschlagen, ergibt:

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 

Antwort

Sie haben keine Ein SSH-Daemon wird ausgeführt. Wenn Sie sich die Ausgabe des Befehls ps ax ansehen, sehen Sie, dass die einzigen zwei Prozesse mit „ssh“ in der Beschreibung ssh-agent (was etwas völlig anderes macht als sshd) und den grep ssh -Prozess, mit dem Sie die Ausgabe von ps.

Je nachdem, welche Distribution installiert ist, müssen Sie möglicherweise den ssh -Server installieren oder ausführen, der normalerweise als

oder sshd abhängig von Ihrem Paketmanager.

Antwort

Schritte zum Debuggen des obigen Problems:

  1. Verwenden Sie das Tool nmap, um festzustellen, welche Ports auf diesem Server geöffnet sind . nmap ist ein Port-Scanner. Da es möglich ist, dass der SSH-Server auf einem anderen Port ausgeführt wird. nmap gibt Ihnen eine Liste der geöffneten Ports.

     $ nmap myserver 

2. Jetzt können Sie überprüfen, welcher Server an einem bestimmten Port ausgeführt wird. Angenommen, in der Ausgabe von nmap ist Port 2424 geöffnet. Jetzt können Sie mithilfe des Tools nc (netcat) feststellen, welcher Server auf 2424 ausgeführt wird.

 $ nc -v -nn myserver portno 

Angenommen, die Ausgabe des 2424-Ports lautet:

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

Dies bedeutet, dass ssh auf 2424 ausgeführt wird.

Ändern Sie die Portnummer im obigen Befehl weiter und suchen Sie nach allen Ports, die von nmap geöffnet sind.

Antwort

Das bedeutet, dass entweder der SSH-Server auf diesem Computer nicht ausgeführt wird oder die Firewall SSH nicht durchlässt. Sie können überprüfen, ob ssh mit „ps -ax | grep ssh“ ausgeführt wird.

Kommentare

  • Bearbeitete Frage, um die Ergebnisse von ps -ax. Ich bin mir nicht sicher, was es bedeutet.
  • Es bedeutet, dass ssh nicht ausgeführt wird.
  • Seltsam. Ich ' bin mir nicht sicher, warum Sie jetzt zweimal Hilfe angeboten haben, die nicht wirklich hilfreich ist. Zuerst schlagen Sie einen Befehl vor, mit dem Sie überprüfen können, ob ssh ausgeführt wird, ohne mir zu sagen, wie die Ergebnisse zu interpretieren sind. Anschließend geben Sie die minimale Interpretation dieser Ergebnisse an, ohne einen Hinweis darauf zu geben, wie Sie zu dieser Interpretation gekommen sind oder welche Maßnahmen angemessen sein könnten. Ich ' bin mir nicht sicher, ob Sie versuchen, mir zu helfen, meine Erfahrung falsch einschätzen oder ob Sie versuchen, meine Unwissenheit hervorzuheben.
  • The Die Liste der Prozesse enthält keinen sshd -Prozess, was bedeutet, dass sshd nicht ausgeführt wird. Die Lösung besteht darin, sshd zu starten.

Antwort

Die Die beiden vorherigen Optionen sind gut. Sie können auch die Argumente -v oder -vv verwenden.

$ ssh -vv eric@myserver 

Antwort

Ich war auch mit diesem Problem konfrontiert, aber in einer VirtualBox-Umgebung müssen wir die IP-Adresse so einstellen, dass sie sich im selben LAN befindet Segment; Beispiel:

Auf meinem Hostcomputer öffne ich cmd und gebe ipconfig ein. Ich erhalte 100.2.2.1 (zum Beispiel).

In der virtuellen Maschine müssen wir also die Adresse der VM in /etc/hosts auf einen Wert wie 100.2.2.3 setzen Schauen Sie sich die endgültige Nummer an und bouncen Sie die virtuelle Maschine. Konfigurieren Sie das Netzwerk jedoch vor dem Start der virtuellen Maschine in den Einstellungen der virtuellen Maschine. Daher müssen Sie den Netzwerkadapter auf Bridge-Verbindung einstellen.

All dies befindet sich in einer Solaris-Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.