Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Har du noen gang ønsket å distribuere en Raspberry Pi "i feltet" og fortsatt ha tilgang til den?
Her er en enkel måte å aktivere ekstern SSH -tilgang til Raspberry Pi 2 (og andre modeller også). Selv om det finnes løsninger som involverer en VPN eller konfigurering av portvideresending ved en lokal brannmur, er det ofte vanskelig å administrere for ikke-eksperter.
En ny generasjon relétjenester inkludert My-Devices.net, Pagekite.net og Yaler.net prøver å fikse dette. Her bruker vi Yaler -reletjenesten (avsløring: Jeg er en grunnlegger) for å gi SSH -tilgang hvor som helst til Raspberry Pi 2.
Materiale
- Raspberry Pi 2 (eller hvilken som helst modell), f.eks.
- USB -kabel, A / Micro B, f.eks.
- Micro SD -kort, 4 GB, f.eks.
- Ethernet -kabel, f.eks.
Også nødvendig
- stasjonær eller bærbar datamaskin
- Lokalt nettverk med DHCP
(Merk: Trinn 3-5 basert på CC BY-SA Yaler-opplæringsprogrammer. Trinn 1 og 2 lar deg starte fra bunnen av.)
Trinn 1: Installer Raspbian
(Hvis du allerede har Raspbian i gang, hopper du over dette trinnet.)
Last ned bildet
La oss bruke Raspbian Jessie (Lite) -bildet som har sshd som standard. Det er et pluss for "hodeløst" oppsett uten skjerm, mus eller tastatur.
- Få det nyeste Raspbian -bildet fra https://www.raspberrypi.org/downloads/ eller bruk denne direkte lenken.
- Pakk ut ZIP -filen for å få IMG -bildefilen
Klargjør SD -kortet på Mac OSX
Det er mange måter å forberede SD -kortet på en Mac. Her er min favoritt:
- Få PiFiller -verktøyet fra https://ivanx.com/raspberrypi/ eller bruk denne direkte lenken.
- Start PiFiller og velg IMG -bildefilen lastet ned ovenfor
Forbered SD -kortet på Windows
- Få Win32 Disk Imager fra
- Start verktøyet og velg IMG lastet ned over (dobbeltsjekk stasjonen)
Forbered SD -kortet på Linux
- Følg trinnene i
Bruk SD -kortet
- Sett inn SD -kortet i Raspberry Pi 2
- Koble ethernet -kabelen til ditt lokale nettverk
- Koble til USB -kabelen for å drive enheten og vent …
Ferdig. Etter noen minutter skal Raspbian være oppe.
Trinn 2: Finn Raspberry Pi 2 i ditt lokale nettverk
(Hvis Raspberry Pi 2 har skjerm, mus og tastatur, hopp over dette trinnet.)
Hvor er min Raspi?
Når Raspbian er installert og Raspberry Pi 2 er koblet til det lokale nettverket, bør den automatisk få en IP -adresse med DHCP og begynne å kjøre sshd, som lytter til innkommende SSH -tilkoblinger på port 22. Men hva er IP -en?
La oss se
En måte å finne den lokale IP -adressen til Raspberry Pi 2 (og hvilken som helst annen enhet) er å bruke kommandolinjeverktøyet nmap.
- Få nmap fra
- For å få datamaskinens lokale IP -adresse, åpner du en terminal og skriver
$ ifconfig
noe som resulterer i noe som en0: flagg = … 192.168.0.7 nettmaske …
- Start en nmap -spørring for port 22 ved å bruke ditt lokale IP -adresse -prefiks, f.eks.
$ nmap 192.168.0.0-255 -p22
- Sjekk resultatet (hvis det er flere IP -er, er det vanligvis det høyeste)
Sørg for at den er din
- Få lokal SSH -tilgang til Raspberry Pi 2 med ssh, ved å bruke sin lokale IP, f.eks.
$ ssh [email protected]
- Skriv inn passordet, som standard er det bringebær
- Endre passordet ved å skrive
$ passwd
Ferdig? Raspberry Pi 2 er nå klar til å bli koblet til relétjenesten.
Trinn 3: Installer YalerTunnel Daemon
Oversikt
YalerTunnel -demonen er en liten programvare som vi legger på Raspi for å koble lokale tjenester som kjører på enheten til videresendingstjenesten i skyen. Som dette:
Videresendingstjeneste <- Brannmur Lokal SSH-tjeneste
Skaff deg et relédomene
Hver enhet som er koblet til videresendingstjenesten trenger et videresendingsdomene.
- Få en gratis prøvekonto inkludert et relédomene på
(Eller, for å være vert for ditt eget stafett for ikke-kommersiell bruk, se
Installer YalerTunnel
La oss bygge YalerTunnel -demonen fra kilde.
- Åpne et skall på Raspberry Pi 2 og oppdater apt-get with
$ sudo apt-get oppdatering
- Last ned og installer libssl med
$ sudo apt-get install libssl-dev
- Lag en yalertunnel -katalog
$ mkdir yalertunnel
$ cd yalertunnel
- Last ned, pakk ut og bygg YalerTunnel -kilden
$ wget
$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make
Ferdig? La oss starte demonen.
Trinn 4: Start YalerTunnel Daemon
Aktiver SSH -tilgang via Yaler
$ sudo apt-get install runit
- Lag en yalertunnel-ssh servicekatalog
$ sudo mkdir/etc/service/yalertunnel-ssh
$ cd/etc/service/yalertunnel-ssh
- Last ned yalertunnel run -skriptet og gjør det kjørbart
$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run
$ sudo chmod a+x run
- Last ned yalertunnel -finishskriptet og gjør det kjørbart
$ sudo wget
$ sudo chmod a+x finish
- Åpne kjøreskriptet med
$ sudo nano/etc/service/yalertunnel-ssh/run
- Sjekk banen (standard:/home/pi/yalertunnel), angi porten til den lokale SSH -tjenesten (standard: 22), og angi relédomenet
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
Lagre endringene med CTRL-X, deretter Y, deretter RETURN. Ikke endre den lokale IP -en (standard: 127.0.0.1), med mindre SSH -tjenesten kjøres på en separat enhet i det samme nettverket.
- Start Raspberry Pi 2 på nytt for å kjøre skriptet
$ sudo omstart
Ferdig. La oss nå se hvordan du får tilgang til Raspi.
Trinn 5: Få tilgang til Raspberry Pi 2 med en SSH -klient
Bruke Putty på Windows
- Følg trinnene
Bruker ssh på Mac eller Linux
I motsetning til Putty støtter ikke ssh -kommandoen "HTTP CONNECT", så vi trenger også YalerTunnel på denne siden av reléet. Slik ser det ut:
SSH -klient -> YalerTunnel i klientmodus -> (brannmur) -> videresendingstjeneste
Installer YalerTunnel på Mac eller Linux
- Sørg for at JDK6 (eller nyere) er installert
- Sørg for at PATH -miljøvariabelen inneholder JDK's bin -katalog
- Få YalerTunnel Java -kilden fra
- Pakk ut ZIP -filen, åpne en terminal og bygg YalerTunnel med
$ javac YalerTunnel.java
Få tilgang til Raspberry Pi 2 eksternt med SSH
- Skriv på klientdatamaskinen din for å starte YalerTunnel i klientmodus
$ java YalerTunnel -klient localhost: 10022 try.yaler.io:80 RELAY_DOMAIN
- I en andre terminal, på klientdatamaskinen, får du tilgang til enheten din via den lokale YalerTunnel med ssh
$ ssh pi@localhost -p 10022 -o ServerAliveInterval = 5
Ferdig. Du bør nå ha SSH -tilgang til Raspberry Pi 2.
Feilsøking
Hvis det ikke er noen forbindelse
- Sørg for at du bruker riktig relédomene
- For å se om YalerTunnel -tjenesten kjører på enheten din, skriver du inn
$ ps aux | grep [y] aler
Det er det. Takk for at du leser til slutt. Ta kontakt hvis du har spørsmål.