Wie SSH in Android aus einem anderen Netzwerk? [geschlossen]

8

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?

Kushdilip
quelle
Die folgenden Ressourcen können Ihnen helfen - askubuntu.com/questions/30080/…
Md Mahbubur Rahman

Antworten:

2

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.

david6
quelle
0

Während die Portweiterleitung funktioniert, schlage ich es nicht vor.

Es ist an sehr feste Einschränkungen gebunden:

  • Geben Sie DHCP auf und verwenden Sie eine statische IP in jedem Netzwerk, in dem Sie arbeiten möchten
  • Richten Sie auf jedem Router Regeln für die Portweiterleitung ein
  • Richten Sie dynamisches DNS für jedes Netzwerk ein
  • Wissen Sie, in welchem ​​Netzwerk sich Ihr Android befindet

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.

ce4
quelle
0

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.

  • Ändern Sie den Adapter von DHCP auf statisch.
  • Versuchen Sie ssh -v ip und überprüfen Sie die Ausgabe
Md Mahbubur Rahman
quelle
Der Computer mit dem SSH-Client befindet sich hinter dem Router an meinem Arbeitsplatz und das Android-Gerät verwendet 3G-Internet. Kein Ethernet hier ..
Kushdilip
0

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.

david.libremone
quelle