Inhaltsverzeichnis:

Remote-SSH-Zugriff auf Raspberry Pi 2: 5 Schritte
Remote-SSH-Zugriff auf Raspberry Pi 2: 5 Schritte

Video: Remote-SSH-Zugriff auf Raspberry Pi 2: 5 Schritte

Video: Remote-SSH-Zugriff auf Raspberry Pi 2: 5 Schritte
Video: Mit dem integrierten SSH-Client von Windows 10 auf den Raspberry Pi/Linux Systeme per SSH verbinden 2024, Juli
Anonim
Remote-SSH-Zugriff auf Raspberry Pi 2
Remote-SSH-Zugriff auf Raspberry Pi 2

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.

Empfohlen: