
Ich habe vor Kurzem angefangen, mich für SSH zu interessieren, und habe deshalb versucht, auf meinem Linux-Laptop einen SSH-Server einzurichten. Ich verwende moonOS, eine Version von Ubuntu mit dem Enlightenment WM.
Zuerst habe ich „sudo apt-get install openssh-server“ ausgeführt. Alles in Ordnung. Dann habe ich mir die Einstellungen für meinen Router angesehen und obwohl ich keine expliziten Einstellungen namens „Portweiterleitung“ gesehen habe, gab es ein Kontrollkästchen zum Aktivieren von SSH. Ich habe dieses Kontrollkästchen aktiviert und den Port auf 22 eingestellt. Danach habe ich „ssh localhost“ ausprobiert und die Verbindung war problemlos.
Jetzt habe ich meine IP-Adresse mit www.whatismyip.com überprüft und dann PuTTY auf meinem WinXP-Laptop ausgeführt, die IP-Adresse und den Port eingegeben, SSH ausgewählt usw. Dann beschwerte sich PuTTY, dass „die Verbindung abgelehnt wurde“. Okay. Ich habe ein Jolicloud LiveUSB auf meinem Netbook gebootet und „ssh [mein Benutzername]@[meine IP-Adresse]“ ausgeführt. Wieder wurde die Verbindung abgelehnt.
Also rannte ich los und suchte im Internet nach der Dokumentation für OpenSSH. Ich versuchte auf gut Glück, „sshd“ auf dem MoonOS-Laptop auszuführen, aber es antwortete nur: „Die erneute Ausführung von sshd erfordert die Ausführung mit einem absoluten Pfad.“
Etwas Hilfe? Ich habe keine Ahnung, was ich hier falsch mache.
Antwort1
sshd re-exec erfordert Ausführung mit einem absoluten Pfad"
Führen Sie es für diesen Teil mit einem vollständigen Pfad aus, zum Beispiel
/usr/sbin/sshd
statt nursshd
Antwort2
Welchen Routertyp haben Sie? Es scheint, dass Sie SSH für Ihren Router aktiviert haben, anstatt Port 22 auf Ihren Laptop weiterzuleiten.
Sie müssen den Datenverkehr von TCP-Port 22 an die IP Ihres Laptops weiterleiten.
Antwort3
Sie sollten sich darüber im Klaren sein, dass viele Router aus irgendeinem Grund keine Schleife zu einer internen Adresse zulassen.
Dies bedeutet, dass Sie möglicherweise keine SSH-Verbindung zu Ihrer öffentlichen IP-Adresse herstellen können und der Port an eine interne IP weitergeleitet wird, wenn sich beide Computer im selben Netzwerk befinden.
Ich weiß nicht wirklich viel darüber, aber ich bin letzte Woche auf dieses Problem gestoßen und musste, um erfolgreich zu sein, Tests auf einem Computer außerhalb meines lokalen Netzwerks durchführen.
Antwort4
Extrem alter Thread, aber ich möchte eine wirklich elegante Antwort beisteuern.
sshd befindet sich bereits in Ihrem $PATH, hier ist also eine schnelle Möglichkeit, es erneut auszuführen.
$ `which sshd`
Warum funktioniert das? Backticks ersetzen die Ausgabe von which
, und die Ausgabe ist der absolute Pfad von sshd
.