Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Har du någonsin velat distribuera en Raspberry Pi "i fältet" och fortfarande kunna komma åt den?
Här är ett enkelt sätt att aktivera fjärr -SSH -åtkomst till din Raspberry Pi 2 (och andra modeller också). Även om det finns lösningar som involverar en VPN eller konfigurerar port vidarebefordran vid en lokal brandvägg, är de ofta svåra att hantera för icke-experter.
En ny generation relätjänster inklusive My-Devices.net, Pagekite.net och Yaler.net försöker fixa detta. Här använder vi Yaler -relätjänsten (avslöjande: Jag är en grundare) för att ge SSH -åtkomst var som helst till Raspberry Pi 2.
Material
- Raspberry Pi 2 (eller någon modell), t.ex.
- USB -kabel, A / Micro B, t.ex.
- Micro SD -kort, 4 GB, t.ex.
- Ethernet -kabel, t.ex.
Behövs också
- Stationär eller bärbar dator
- Lokalt nätverk med DHCP
(Obs! Steg 3-5 baserat på CC BY-SA Yaler-handledning. Steg 1 och 2 låter dig börja om från början.)
Steg 1: Installera Raspbian
(Om du redan har Raspbian igång, hoppa över det här steget.)
Ladda ner bilden
Låt oss använda Raspbian Jessie (Lite) -bilden som har sshd som standard. Det är ett plus för "huvudlös" inställning utan bildskärm, mus eller tangentbord.
- Få den senaste Raspbian -bilden från https://www.raspberrypi.org/downloads/ eller använd den här direktlänken.
- Packa upp zip -filen för att få IMG -bildfilen
Förbered SD -kortet på Mac OSX
Det finns många sätt att förbereda SD -kortet på en Mac. Här är min favorit:
- Hämta PiFiller -verktyget från https://ivanx.com/raspberrypi/ eller använd den här direktlänken.
- Starta PiFiller och välj IMG -bildfilen som laddats ner ovan
Förbered SD -kortet i Windows
- Skaffa Win32 Disk Imager från
- Starta verktyget och välj IMG som laddats ner ovan (dubbelkolla enheten)
Förbered SD -kortet på Linux
- Följ stegen i
Använd SD -kortet
- Sätt i SD -kortet i Raspberry Pi 2
- Anslut Ethernet -kabeln till ditt lokala nätverk
- Anslut USB -kabeln för att driva enheten och vänta …
Gjort. Efter några minuter ska Raspbian vara uppe.
Steg 2: Hitta Raspberry Pi 2 i ditt lokala nätverk
(Om Raspberry Pi 2 har en skärm, mus och tangentbord, hoppa över det här steget.)
Var är min Raspi?
När Raspbian har installerats och Raspberry Pi 2 är ansluten till det lokala nätverket bör den automatiskt få en IP -adress med DHCP och börja köra sshd, som lyssnar på inkommande SSH -anslutningar på port 22. Men vad är IP: n?
Låt oss ta en titt
Ett sätt att hitta den lokala IP -adressen för Raspberry Pi 2 (och andra enheter) är att använda kommandoradsverktyget nmap.
- Hämta nmap från
- För att få din dators lokala IP -adress, öppna en terminal och skriv
$ ifconfig
vilket resulterar i något liknande en0: flaggor = … 192.168.0.7 nätmask …
- Starta en nmap -fråga för port 22 med ditt lokala IP -adressprefix, t.ex.
$ nmap 192.168.0.0-255 -p22
- Kontrollera resultatet (om det finns flera IP -adresser är det vanligtvis det högsta)
Se till att det är ditt
- Få lokal SSH -åtkomst till Raspberry Pi 2 med ssh, med hjälp av dess lokala IP, t.ex.
$ ssh [email protected]
- Ange lösenordet, som standard är det hallon
- Ändra lösenordet genom att skriva
$ passwd
Gjort? Din Raspberry Pi 2 är nu redo att anslutas till relätjänsten.
Steg 3: Installera YalerTunnel Daemon
Översikt
YalerTunnel -demonen är en liten programvara som vi lägger på din Raspi för att ansluta lokala tjänster som körs på enheten till relätjänsten i molnet. Så här:
Relästjänst <- Brandväggs lokal SSH-tjänst
Skaffa en relädomän
Varje enhet som är ansluten till relätjänsten behöver en relädomän.
- Skaffa ett gratis provkonto inklusive en relädomän på
(Eller, för att vara värd för ditt eget relä för icke-kommersiellt bruk, se
Installera YalerTunnel
Låt oss bygga YalerTunnel -demonen från källan.
- Öppna ett skal på din Raspberry Pi 2 och uppdatera apt-get with
$ sudo apt-get uppdatering
- Ladda ner och installera libssl med
$ sudo apt-get install libssl-dev
- Skapa en yalertunnelkatalog
$ mkdir yalertunnel
$ cd yalertunnel
- Ladda ner, packa upp och bygg upp YalerTunnel -källan
$ wget
$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make
Gjort? Låt oss sedan börja demonen.
Steg 4: Starta YalerTunnel Daemon
Aktivera SSH -åtkomst via Yaler
$ sudo apt-get installera runit
- Skapa en yalertunnel-ssh servicekatalog
$ sudo mkdir/etc/service/yalertunnel-ssh
$ cd/etc/service/yalertunnel-ssh
- Ladda ner yalertunnel run -skriptet och gör det körbart
$ sudo wget https://s3.yaler.net/raspi/run-ssh -O kör
$ sudo chmod a+x kör
- Ladda ner yalertunnel -finishskriptet och gör det körbart
$ sudo wget
$ sudo chmod a+x finish
- Öppna körskriptet med
$ sudo nano/etc/service/yalertunnel-ssh/run
- Kontrollera sökvägen (standard:/home/pi/yalertunnel), ställ in porten för den lokala SSH -tjänsten (standard: 22) och ställ in din relädomän
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
Spara ändringar med CTRL-X, sedan Y, sedan RETURN. Ändra inte den lokala IP -adressen (standard: 127.0.0.1) om inte SSH -tjänsten körs på en separat enhet i samma nätverk.
- Starta om din Raspberry Pi 2 för att köra skriptet
$ sudo starta om
Gjort. Låt oss nu se hur du får tillgång till Raspi.
Steg 5: Gå till Raspberry Pi 2 med en SSH -klient
Använda kitt på Windows
- Följ stegen
Använda ssh på Mac eller Linux
Till skillnad från Putty stöder ssh -kommandot inte "HTTP CONNECT", så vi behöver också YalerTunnel på denna sida av reläet. Så här ser det ut:
SSH Client -> YalerTunnel i Client Mode -> (Firewall) -> Relay Service
Installera YalerTunnel på Mac eller Linux
- Se till att JDK6 (eller senare) är installerat
- Se till att din PATH -miljövariabel innehåller JDK: s bin -katalog
- Skaffa YalerTunnel Java -källa från
- Packa upp ZIP -filen, öppna en terminal och bygg YalerTunnel med
$ javac YalerTunnel.java
Få fjärråtkomst till Raspberry Pi 2 med SSH
- Skriv på din klientdator för att starta YalerTunnel i klientläge
$ java YalerTunnel -klient localhost: 10022 try.yaler.io:80 RELAY_DOMAIN
- I en andra terminal, på klientdatorn, få åtkomst till din enhet via den lokala YalerTunnel med ssh
$ ssh pi@localhost -p 10022 -o ServerAliveInterval = 5
Gjort. Du bör nu ha SSH -åtkomst till din Raspberry Pi 2.
Felsökning
Om det inte finns någon anslutning
- Se till att du använder rätt relädomän
- Skriv om du vill se om YalerTunnel -tjänsten körs på din enhet
$ ps aux | grep [y] aler
Det är allt. Tack för att du läste till slutet. Om du har frågor, hör av dig.