Ich habe kürzlich SSH auf meinem Raspberry Pi eingerichtet. Es lief sehr gut, zumal ich den Computer über mein iPhone mit der App Server Auditor steuern kann . Leider funktioniert dies nur über das lokale Netzwerk.
Wie kann ich meine SSH zum Laufen bringen, wenn ich nicht zu Hause bin? (Funktioniert vorzugsweise mit der App.)
Antworten:
Hier sind die Schritte, die ich verwendet habe (unter Debian), die Sie vielleicht nützlich finden.
1. Festlegen der statischen IP für den Pi.
Öffnen Sie die Interface-Datei mit dem Befehl
Ändern Sie die Interface-Datei wie folgt (das funktioniert bei mir nicht, ich bin mir nicht sicher, ob einige der Zeilen ausgeschlossen werden können).
c.Überprüfen Sie mit dem Befehl ifconfig, ob das IP geändert wurde
2. Einrichten eines dynamischen DNS
Höchstwahrscheinlich ist die von Ihrem Internetdienstanbieter zugewiesene IP-Adresse dynamisch. Wir benötigen daher eine Möglichkeit, die Änderungen der IP-Adresse aufzulösen. Ich verwende dazu die Software dnsdynamic und ddclient. Beide können kostenlos verwendet werden.
Eröffnen Sie ein Konto bei dnsdynamic
b.Fügen Sie eine neue Domain hinzu und wählen Sie einen Namen und die Domain aus der Liste aus. Sie können jede der verfügbaren Domains mit der von Ihnen gewählten Subdomain auswählen. Klicken Sie auf Verfügbarkeit prüfen und dann auf Hinzufügen
3. Setzen Sie ddclient auf Pi
Installieren Sie ddclient mit dem Befehl
Öffnen Sie die Konfigurationsdatei für ddclient mit dem folgenden Befehl und fügen Sie die folgenden Zeilen hinzu.
und ändern Sie die Datei wie folgt.
und speichern Sie die Datei.
d.Wir möchten, dass der ddclient-Dienst beim Neustart automatisch gestartet wird. Gehen Sie wie folgt vor.
Fügen Sie den folgenden Befehl vor dem Beenden von 0 hinzu (das ist die letzte Zeile)
Speichern Sie die Datei. Um ddclient zu starten, starten Sie entweder Ihren pi neu oder führen Sie den obigen Befehl an der Eingabeaufforderung aus. Ihr Domain-Name wird bei Bedarf mit der aktuellen IP-Adresse aktualisiert.
4.Portweiterleitung
a.Finden Sie das Modell Ihres Routers.
Gehen Sie zu portforward.com
c.Geben Sie die Marke und das Modell Ihres Routers ein, um eine detaillierte Anleitung zum Weiterleitungsport zu erhalten.
d.Nachdem Sie die Marke und das Modell des Routers ausgewählt haben, klicken Sie auf der umgeleiteten Seite auf die Standardanleitung.
eGeben Sie in das Textfeld Static Ip die statische IP des in Schritt 1 angegebenen Pi ein.
Befolgen Sie die Schritte und leiten Sie Port 22 weiter. Der Quellport muss 22 sein und der Zielport kann beliebig sein. Denken Sie daran, den Zielport zu verwenden, wenn Sie in pi sshing. Um Verwechslungen zu vermeiden, neige ich dazu, die gleiche Quelle und das gleiche Ziel zu verwenden Hafen.
Wenn Sie dem Tutorial gefolgt sind, melden Sie sich von überall an Ihrem Pi an, indem Sie die IP-Adresse durch den Domainnamen ersetzen. Ich benutze [email protected]: 22, um in mein pi zu sshen.
quelle
sudo
in/etc/rc.local
, ist das nicht schon als root ausgeführt wird ?Zuerst möchten Sie die Portweiterleitung einrichten. Jeder Router ist etwas anders, daher müssen Sie die Details für Ihren Router nachschlagen.
Es gibt allgemeine Anleitungen für die Portweiterleitung , die für die meisten Router geeignet sind. Ich empfehle jedoch, eine Anleitung für Ihr tatsächliches Routermodell zu finden.
Legen Sie einen denkwürdigen Port für die Verknüpfung mit Ihrem Himbeer-Pi fest, z. B. 23456 oder so. Achten Sie darauf, die allgemeinen Portnummern nicht zu überschreiben .
Zum Schluss machen Sie mit ssh Folgendes:
Wo:
-p
befehl teilt ssh mit, auf welchen port getunnelt werden sollquelle
Der Zugriff auf Ihr RaspberryPi (oder sogar auf Laptops / Server) von außerhalb Ihres Heimnetzwerks (dh aus dem Internet) ist keine leichte Aufgabe, da Ihr Heim-Laptop oder RaspberryPi nur eine lokale IP-Adresse hat (im Bereich 10.xxx oder 192.168.xx) Angebot). Es hat keine öffentliche IP-Adresse, die im Internet sichtbar ist.
Die einfache Antwort auf Ihre Frage lautet, dass Sie kostenlose Onlinedienste wie SocketXP verwenden, die einen sicheren öffentlichen Tunnelendpunkt für SSH in Ihrem RaspberryPi von außerhalb des Heimnetzwerks bereitstellen.
SocketXP bietet eine einfache, sichere und einfache Möglichkeit, von außerhalb des Netzwerks auf RaspberryPi zu Hause zuzugreifen. Bei SocketXP müssen Sie keine Einstellungen in Ihrem WLAN-Router hacken. Es funktioniert sofort. Um zu erfahren, wie Sie Ihr RaspberryPi von außen auf SSH einstellen , lesen Sie diesen Blog darüber, wie Sie mit SocketXP SSH auf Ihr RaspberryPi übertragen können.
So richten Sie SocketXP ein:
Schritt 1 : Installieren Sie den SocketXP-Client mit dem folgenden Befehl auf Ihrem RaspberryPi.
Schritt 2: Verbinden Sie den SocketXP-Client mithilfe des folgenden Befehls mit dem SocketXP-Cloud-Dienst. Sie müssen sich unter https://portal.socketxp.com registrieren , um Ihr eindeutiges Authentifizierungstoken zu erhalten.
Schritt 3 : Holen Sie sich einen öffentlichen Tunnel-Endpunkt, um über das Internet auf Ihren RaspberryPi zuzugreifen.
Schritt 4 : SSH aus dem Internet in Ihr RaspberryPi mit dem folgenden Befehl.
Dabei ist "Himbeer-Benutzername" der Benutzername / das Kennwort, mit dem Sie sich bei Ihrem RaspberryPi mit SSH anmelden.
quelle
Diese Frage ist alt, da die Wahrscheinlichkeit geringer ist, dass Sie eine öffentlich zugängliche IPv4-Adresse erhalten. Höchstwahrscheinlich stehen Sie hinter einer CGNAT, dh, Sie teilen eine einzige öffentliche IPv4-Adresse mit anderen Kunden des Internetdienstanbieters. Es ist also nicht möglich, eine Portweiterleitung zu Ihrem PI oder etwas anderem durchzuführen.
Wenn Sie über IPv6 verfügen, können Sie Ihrem PI eine statische Adresse geben und auf Ihrem Router Zugriff darauf gewähren. Viele Mobilfunkanbieter geben IPv6 jetzt an Telefone weiter. Die alten "landbasierten" ISPs (Glasfaser, DSL, Koax usw.) ziehen oft ihre Füße hoch.
Sie könnten auch einen günstigen VPS (Virtual Private Server) mit einem öffentlichen IPv4 irgendwo in der Cloud erwerben und einen SSH-Tunnel vom PI zum VPS herstellen.
quelle
Neben der Antwort von phalt sollten Sie einen der dynamischen DNS-Dienste wie z. B. No IP (Keine IP) auschecken . Mit ihnen können Sie unter einem statischen Hostnamen auf Ihr Heimnetzwerk zugreifen, obwohl sich Ihre IP-Adresse möglicherweise täglich ändert, weil Ihr DSL- oder Kabelanbieter die Verbindung zu Ihnen getrennt hat. Sie haben auch eine schöne Einstiegsseite , auf der Sie auch erfahren , wie Sie Ihren Router entsprechend einrichten.
Möglicherweise möchten Sie das
inadyn
Paket auf Ihrem Raspberry Pi installieren , um Ihre No-IP-DNS-Einträge zu aktualisieren, wenn sich die IP ändert. Sie können dies tun, indem Sie Folgendes ausführen:Aus der inadyn README habe ich diesen Beispielaufruf genommen:
Hoffe das hilft.
quelle
Zusätzlich zu Steve Irwins Antwort:
Schritt 1:
Wenn Sie eine Verbindung über WLAN herstellen, verwenden Sie:
Schritt 2:
Nachdem Sie die obigen Einstellungen geändert haben, müssen Sie neu starten
networking
:quelle
Zusätzlich bieten einige Router eine integrierte Unterstützung für einige dynamische DNS-Dienste. Sie können diese Option (falls vorhanden) in Ihrem Router aktivieren, um zu vermeiden, dass der Client auf Ihrem PI installiert wird (und dabei ein wenig Overhead gespart wird).
quelle
Sie haben also einen SSH-Server (Ihren Raspberry PI) hinter einer Firewall (Ihrem Router) und möchten von überall aus eine Verbindung herstellen. Nehmen wir an, Ihr SSH-Server ist ordnungsgemäß eingerichtet. Wenn Sie also 'SSH-Benutzername @ LocalHost-Datum' auf Ihrem Raspberry ausführen, wird das aktuelle Datum und die aktuelle Uhrzeit angezeigt.
Sie müssen zwei Probleme lösen:
Portweiterleitung & DynDNS
Es gibt Lösungen (wie andere darauf hingewiesen haben):
Bei korrekter Einrichtung ist das Anschließen Ihres Rasbperry Pi möglicherweise möglich mit:
Mit sshhub.de
Eine andere sehr praktische Lösung, die bisher nicht erwähnt wurde, ist SSHHub (Disclamer, ich bin der Autor). Es verwendet die eigene Weiterleitung von ssh, um von überall auf Ihren Rasperry PI zuzugreifen. Es ist zuverlässig, kostenlos und ziemlich einfach einzurichten . Einmal registrieren:
Laufen Sie auf Ihrem Raspberry PI:
...und das ist es! Sie können Ihren Raspberry Pi von überall anschließen:
quelle
Sie können ein VPN verwenden, um den eingehenden Zugriff auf Ihren pi zu ermöglichen. OpenVPN ist eine Lösung, für die Sie einen Computer benötigen, auf den über das Internet zugegriffen werden kann (ein eingehender Port). Solange Sie jedoch über einen Computer verfügen, müssen die anderen Computer nicht so sein, wie sie Clients für den OpenVPN-Server sein können.
Eine andere Möglichkeit wäre die Verwendung eines Dienstes wie ZeroTier, der zentralisierte Server zum Erstellen eines VPN bereitstellt, sodass Sie keinen eigenen Server ausführen müssen. Dies ist auch kostenlos.
quelle