Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Wollten Sie schon immer einen Raspberry Pi "im Feld" einsetzen und trotzdem darauf zugreifen?
Hier ist eine einfache Möglichkeit, den Remote-SSH-Zugriff auf Ihren Raspberry Pi 2 (und auch andere Modelle) zu aktivieren. Es gibt zwar Lösungen, die ein VPN beinhalten oder die Portweiterleitung an einer lokalen Firewall konfigurieren, diese sind jedoch für Nicht-Experten oft schwer zu verwalten.
Eine neue Generation von Relay-Diensten, darunter My-Devices.net, Pagekite.net und Yaler.net, versucht dies zu beheben. Hier verwenden wir den Yaler-Relay-Dienst (Offenlegung: Ich bin ein Gründer), um SSH-Zugriff von überall auf den Raspberry Pi 2 bereitzustellen.
Material
- Raspberry Pi 2 (oder ein beliebiges Modell), z. B.
- USB-Kabel, A / Micro B, z. B.
- Micro-SD-Karte, 4 GB, z. B.
- Ethernet-Kabel, z. B.
Auch benötigt
- Desktop- oder Laptop-Computer
- Lokales Netzwerk mit DHCP
(Hinweis: Schritte 3 bis 5 basieren auf CC BY-SA Yaler-Tutorials. Mit den Schritten 1 und 2 können Sie von vorne beginnen.)
Schritt 1: Raspbian installieren
(Wenn Sie Raspbian bereits ausgeführt haben, überspringen Sie diesen Schritt.)
Laden Sie das Bild herunter
Lassen Sie uns das Raspbian Jessie (Lite)-Image verwenden, bei dem sshd standardmäßig ausgeführt wird. Das ist ein Plus für "headless" Setups ohne Display, Maus oder Tastatur.
- Holen Sie sich das neueste Raspbian-Image von https://www.raspberrypi.org/downloads/ oder verwenden Sie diesen direkten Link.
- Entpacken Sie die Bild-ZIP-Datei, um die IMG-Bilddatei zu erhalten
Bereiten Sie die SD-Karte unter Mac OSX vor
Es gibt viele Möglichkeiten, die SD-Karte auf einem Mac vorzubereiten. Hier ist mein Favorit:
- Holen Sie sich das PiFiller-Tool von https://ivanx.com/raspberrypi/ oder verwenden Sie diesen direkten Link.
- Starten Sie PiFiller und wählen Sie die oben heruntergeladene IMG-Bilddatei aus
Bereiten Sie die SD-Karte unter Windows vor
- Holen Sie sich Win32 Disk Imager von
- Starten Sie das Tool und wählen Sie das oben heruntergeladene IMG (überprüfen Sie das Laufwerk)
Bereiten Sie die SD-Karte unter Linux vor
- Folgen Sie den Schritten unter
Verwenden Sie die SD-Karte
- Stecken Sie die SD-Karte in den Raspberry Pi 2
- Verbinden Sie das Ethernet-Kabel mit Ihrem lokalen Netzwerk
- Schließen Sie das USB-Kabel an, um das Gerät mit Strom zu versorgen, und warten Sie…
Fertig. Nach ein paar Minuten sollte Raspbian oben sein.
Schritt 2: Finden Sie den Raspberry Pi 2 in Ihrem lokalen Netzwerk
(Wenn der Raspberry Pi 2 über ein Display, eine Maus und eine Tastatur verfügt, überspringen Sie diesen Schritt.)
Wo ist mein Raspi?
Sobald Raspbian installiert ist und der Raspberry Pi 2 mit dem lokalen Netzwerk verbunden ist, sollte er automatisch eine IP-Adresse mit DHCP erhalten und sshd starten, das auf eingehende SSH-Verbindungen auf Port 22 lauscht. Aber wie lautet die IP?
Werfen wir einen Blick
Eine Möglichkeit, die lokale IP-Adresse des Raspberry Pi 2 (und jedes anderen Geräts) zu ermitteln, besteht darin, das Befehlszeilentool nmap zu verwenden.
- Holen Sie sich nmap von
- Um die lokale IP-Adresse Ihres Computers zu erhalten, öffnen Sie ein Terminal und geben Sie ein
$ ifconfig
was zu so etwas wie en0 führt: flags= … 192.168.0.7 netmask …
- Starten Sie eine nmap-Abfrage für Port 22 mit Ihrem lokalen IP-Adresspräfix, z.
$nmap 192.168.0.0-255 -p22
- Überprüfen Sie das Ergebnis (bei mehreren IPs ist es normalerweise die höchste)
Stellen Sie sicher, dass es Ihnen gehört
- Erhalten Sie lokalen SSH-Zugriff auf den Raspberry Pi 2 mit ssh, unter Verwendung seiner lokalen IP, z. B.
$ ssh [email protected]
- Geben Sie das Passwort ein, standardmäßig ist es Himbeere
- Ändern Sie das Passwort durch Eingabe
$ passwd
Fertig? Ihr Raspberry Pi 2 ist nun bereit, mit dem Relay-Dienst verbunden zu werden.
Schritt 3: Installieren Sie den YalerTunnel-Daemon
Überblick
Der YalerTunnel-Daemon ist eine kleine Software, die wir auf Ihrem Raspi installieren, um lokale Dienste, die auf dem Gerät ausgeführt werden, mit dem Relay-Dienst in der Cloud zu verbinden. So was:
Relay-Dienst <- Lokaler SSH-Dienst der Firewall
Holen Sie sich eine Relay-Domain
Jedes mit dem Relay-Dienst verbundene Gerät benötigt eine Relay-Domäne.
- Holen Sie sich ein kostenloses Testkonto mit einer Relay-Domain unter
(Oder, um Ihr eigenes Relay für nicht-kommerzielle Zwecke zu hosten, siehe
YalerTunnel installieren
Lassen Sie uns den YalerTunnel-Daemon aus dem Quellcode erstellen.
- Öffnen Sie eine Shell auf Ihrem Raspberry Pi 2 und aktualisieren Sie apt-get mit
$ sudo apt-get update
- Laden Sie libssl herunter und installieren Sie es mit
$ sudo apt-get install libssl-dev
- Erstellen Sie ein yalertunnel-Verzeichnis
$ mkdir yalertunnel
$ cd yalertunnel
- Laden Sie die YalerTunnel-Quelle herunter, entpacken und erstellen Sie sie
$ wget
$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make
Fertig? Dann starten wir den Daemon.
Schritt 4: Starten Sie den YalerTunnel-Daemon
SSH-Zugriff über Yaler aktivieren
$ sudo apt-get install runit
- Erstellen Sie ein yalertunnel-ssh-Dienstverzeichnis
$ sudo mkdir /etc/service/yalertunnel-ssh
$ cd /etc/service/yalertunnel-ssh
- Laden Sie das yalertunnel-Run-Skript herunter und machen Sie es ausführbar
$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run
$ sudo chmod a+x ausführen
- Laden Sie das yalertunnel-Finish-Skript herunter und machen Sie es ausführbar
$ sudo wget
$ sudo chmod a+x beenden
- Öffnen Sie das Ausführungsskript mit
$ sudo nano /etc/service/yalertunnel-ssh/run
- Überprüfen Sie den Pfad (Standard: /home/pi/yalertunnel), legen Sie den Port des lokalen SSH-Dienstes fest (Standard: 22) und legen Sie Ihre Relay-Domain fest
1 #!/bin/sh
⋮ 6 exec /home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:22 try.yaler.io:80 RELAY_DOMAIN &1 | logger -t yalertunnel-ssh
Speichern Sie die Änderungen mit STRG-X, dann Y, dann RETURN. Ändern Sie die lokale IP (Standard: 127.0.0.1) nicht, es sei denn, der SSH-Dienst läuft auf einem separaten Gerät im selben Netzwerk.
- Starten Sie Ihren Raspberry Pi 2 neu, um das Skript auszuführen
$ sudo Neustart
Fertig. Sehen wir uns nun an, wie Sie auf das Raspi zugreifen.
Schritt 5: Greifen Sie mit einem SSH-Client auf den Raspberry Pi 2 zu
Verwenden von Putty unter Windows
- Folgen Sie den Schritten
Verwenden von ssh auf Mac oder Linux
Im Gegensatz zu Putty unterstützt der ssh-Befehl kein "HTTP CONNECT", also brauchen wir YalerTunnel auch auf dieser Seite des Relays. So sieht das aus:
SSH-Client -> YalerTunnel im Client-Modus -> (Firewall) -> Relay-Dienst
Installieren Sie YalerTunnel auf Mac oder Linux
- Stellen Sie sicher, dass JDK6 (oder höher) installiert ist
- Stellen Sie sicher, dass Ihre PATH-Umgebungsvariable das bin-Verzeichnis des JDK enthält
- Holen Sie sich die YalerTunnel-Java-Quelle von
- Entpacken Sie die ZIP-Datei, öffnen Sie ein Terminal und erstellen Sie YalerTunnel mit
$ javac YalerTunnel.java
Fernzugriff auf den Raspberry Pi 2 mit SSH
- Um YalerTunnel im Client-Modus zu starten, geben Sie auf Ihrem Client-Computer. ein
$ java YalerTunnel-Client localhost:10022 try.yaler.io:80 RELAY_DOMAIN
- Greifen Sie in einem zweiten Terminal auf dem Client-Computer über den lokalen YalerTunnel mit ssh. auf Ihr Gerät zu
$ ssh pi@localhost -p 10022 -o ServerAliveInterval=5
Fertig. Sie sollten nun über SSH-Zugriff auf Ihren Raspberry Pi 2 verfügen.
Fehlerbehebung
Wenn keine Verbindung besteht
- Stellen Sie sicher, dass Sie die richtige Relay-Domain verwenden
- Um zu sehen, ob der YalerTunnel-Dienst auf Ihrem Gerät ausgeführt wird, geben Sie
$ ps aux | grep [y]aler
Das ist es. Danke fürs Lesen bis zum Ende. Wenn Sie Fragen haben, melden Sie sich.