Ich verwende SSHDroid auf meinem nicht gerooteten Android-Gerät. Wenn sich mein SSH-Client auf Ubuntu oder Windows im selben WLAN-Netzwerk wie das Android befindet, kann ich über SSH eine Verbindung herstellen.
Ich möchte jedoch von einem Client wie Putty usw. von einem Computer, der sich nicht im selben Netzwerk befindet, eine Verbindung zum Gerät über SSH herstellen.
z.B. Wenn ich mich im selben WLAN-Netzwerk befinde, kann ich mit dem Befehl eine Verbindung über SSH herstellen
$ ssh root@192.168.1.3 -p 2222
aber wenn ich über ssh mit externer IP eine Verbindung herstelle, heißt es, dass die Verbindung abgelehnt wurde.
$ ssh root@112.79.41.234 -p 2222
Ich habe auch versucht, PortForward zu verwenden, um den externen Port an den internen weiterzuleiten. Aber es scheint nicht zu funktionieren. Kann mir jemand sagen, wie das geht, ohne das Gerät zu rooten?
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 dort stattfinden, wo das öffentliche Netzwerk („Internet“) auf das private Netzwerk trifft (WLAN-Netzwerk mit Android-Gerät). Dies ist normalerweise ein „Router“, könnte aber auch eine größere „Firewall“ sein.
Sie müssen dieses Detail herausfinden und hinzufügen, wenn Sie weitere Hilfe benötigen.
Obwohl die Portweiterleitung funktionieren wird, 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 greifen Sie darüber zu. Oder verwenden Sie GTalkSMS für eine einfachere Einrichtung.
IP-Adresskonflikt kann festgestellt werden, überprüfen Sie zunächst, ob der Adresskonflikt das Problem war oder nicht.
Sehen Sie sich dazu bitte um
Überprüfen Sie in Bezug auf Ihr Netzwerk /var/log/messages auf Ethernet-Link-Up/Down (oder WLAN im Falle von Wireless). Versuchen Sie in diesem Fall, die Kabel auszutauschen.
Es ist kein einfaches Verbindungsproblem. Der Ethernet-Link ändert seinen Zustand nicht; Server ist per Ping erreichbar; ssh stellt gelegentlich eine einwandfreie Verbindung her, stellt dann scheinbar zufällig keine Verbindung her oder bestehende ssh-Sitzungen werden abgebrochen.
Sie könnten einen dynamischen DNS-Updater einrichten. Dadurch können Sie mit derselben Internet-IP-Adresse auf Ihr Android-Gerät zugreifen, egal wo Sie sich befinden. Sie benötigen ein Konto bei einem dynamischen DNS-Anbieter [1] und einen Android-SSH-Server, der ein DNS-Update-Tool enthält/unterstützt [2].
Anschließend wird Ihnen vom Dynamic-DNS-Anbieter eine feste IP-Adresse zugewiesen, die Sie überall dort verwenden können, wo Sie roamen. Netzwerkbeschränkungen (technische oder auferlegte) können Sie unter bestimmten Umständen immer noch daran hindern, auf Ihr Gerät zuzugreifen.
[1] Zum Beispiel DNS-o-matic . Es gibt einige kostenlose Anbieter.
[2] Der SSH-Server von Ice Cold Apps bietet explizit Unterstützung für dynamisches DNS. Auf der SSHDroid- Seite wird nichts erwähnt , aber Sie könnten sie abfragen.
Md Mahbubur Rahman