Ich verwende SSHDroid auf meinem nicht gerooteten Android-Gerät. Wenn sich mein SSH-Client unter Ubuntu oder Windows im selben WLAN-Netzwerk wie Android befindet, kann ich über SSH eine Verbindung herstellen.
Ich möchte jedoch eine SSH-Verbindung zum Gerät von einem Client wie Putty usw. von einem Computer herstellen, der sich nicht im selben Netzwerk befindet.
z.B. Wenn ich im selben WLAN-Netzwerk bin, kann ich mit dem Befehl eine Verbindung über SSH herstellen
$ ssh [email protected] -p 2222
aber wenn ich über ssh mit externer IP verbinde, heißt es, dass die Verbindung abgelehnt wurde.
$ ssh [email protected] -p 2222
Ich habe auch versucht, mit PortForward den externen Port an den internen weiterzuleiten. Aber es scheint nicht zu funktionieren. Kann mir jemand sagen, wie es geht, ohne das Gerät zu rooten?
quelle
Antworten:
Schnelle Antwort:
Sie müssen Ihr Android-Telefon nicht "rooten" - sowohl es als auch SSH funktionieren ordnungsgemäß.
So lösen Sie das Problem:
Sie müssen "Portweiterleitung" und "öffentliche IP-Adressen" besser verstehen.
Die "Portweiterleitung" muss erfolgen, wenn das öffentliche Netzwerk ("Internet") auf das private Netzwerk (WiFi-Netzwerk mit Android-Gerät) trifft. Dies ist normalerweise ein "Router", könnte aber eine größere "Firewall" sein.
Sie müssen dieses Detail herausfinden und hinzufügen, wenn Sie weitere Hilfe benötigen.
quelle
Während die Portweiterleitung funktioniert, schlage ich es nicht vor.
Es ist an sehr feste Einschränkungen gebunden:
Lassen Sie Ihr Telefon besser mit demselben virtuellen privaten Netzwerk (VPN) verbinden und über dieses darauf zugreifen. Oder verwenden Sie GTalkSMS für eine einfachere Einrichtung.
quelle
Ein IP-Adresskonflikt kann sich herausstellen. Überprüfen Sie zunächst, ob der Adresskonflikt das Problem war oder nicht.
Schauen Sie sich dazu bitte an
Überprüfen Sie in Bezug auf Ihr Netzwerk / var / log / messages auf Auf- / Abwärtsverbindungen der Ethernet-Verbindung (oder wlan bei drahtlosen Verbindungen). Wenn ja, wechseln Sie die Kabel.
Es ist kein einfaches Konnektivitätsproblem. Die Ethernet-Verbindung ändert den Status nicht. Server ist über Ping erreichbar; ssh stellt gelegentlich eine fehlerfreie Verbindung her, stellt dann scheinbar keine zufällige Verbindung her oder die vorhandene ssh-Sitzung wird unterbrochen.
quelle
Sie können einen dynamischen DNS-Updater einrichten. Auf diese Weise können Sie mit derselben Internet-IP-Adresse auf Ihr Android-Gerät zugreifen, unabhängig davon, wo Sie sich befinden. Sie benötigen ein Konto bei einem dynamischen DNS-Anbieter [1] und einem Android-SSH-Server, der ein DNS-Update-Tool [2] enthält / unterstützt.
Sie erhalten dann vom dynamischen DNS-Anbieter eine feste IP-Adresse, die Sie überall verwenden können. Unter bestimmten Umständen können Netzwerkbeschränkungen (technisch oder auferlegt) den Zugriff auf Ihr Gerät verhindern.
[1] Zum Beispiel DNS-o-matic . Es gibt einige kostenlose Anbieter.
[2] SSH Server von Ice Cold Apps bietet ausdrücklich Unterstützung für dynamisches DNS. Auf der SSHDroid- Seite wird nichts erwähnt , aber Sie können sie abfragen.
quelle