Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ste kdaj želeli razporediti Raspberry Pi "na terenu" in do njega še vedno dostopati?
Tukaj je preprost način za omogočanje oddaljenega dostopa SSH do vašega Raspberry Pi 2 (in drugih modelov). Čeprav obstajajo rešitve, ki vključujejo VPN ali konfiguriranje posredovanja vrat na lokalnem požarnem zidu, je za tiste, ki niso strokovnjaki, pogosto težko upravljati.
Nova generacija relejnih storitev, vključno z My-Devices.net, Pagekite.net in Yaler.net, skuša to popraviti. Tukaj uporabljamo Yalerjevo storitev prenosa (razkritje: jaz sem ustanovitelj) za zagotavljanje dostopa SSH od kjer koli do Raspberry Pi 2.
Material
- Raspberry Pi 2 (ali kateri koli model), npr.
- USB kabel, A / Micro B, npr.
- Micro SD kartica, 4 GB, npr.
- Ethernetni kabel, npr.
Prav tako potrebno
- namizni ali prenosni računalnik
- Lokalno omrežje z DHCP
(Opomba: Koraki 3-5 temeljijo na vajah CC BY-SA Yaler. Koraka 1 in 2 vam omogočata, da začnete od začetka.)
1. korak: Namestite Raspbian
(Če imate že zagnan Raspbian, preskočite ta korak.)
Prenesite sliko
Uporabimo sliko Raspbian Jessie (Lite), ki ima privzeto izvajanje sshd. To je plus za "brezglavo" nastavitev brez zaslona, miške ali tipkovnice.
- Pridobite najnovejšo sliko Raspbian s spletnega mesta https://www.raspberrypi.org/downloads/ ali uporabite to neposredno povezavo.
- Odstranite slikovni ZIP, da dobite slikovno datoteko IMG
Pripravite kartico SD v sistemu Mac OSX
Obstaja veliko načinov za pripravo kartice SD na Macu. Tukaj je moj najljubši:
- Pridobite orodje PiFiller s spletnega mesta https://ivanx.com/raspberrypi/ ali uporabite to neposredno povezavo.
- Zaženite PiFiller in izberite zgoraj naloženo slikovno datoteko IMG
Pripravite kartico SD v sistemu Windows
- Pridobite Win32 Disk Imager s spletnega mesta
- Zaženite orodje in izberite zgoraj preneseni IMG (dvakrat preverite pogon)
Pripravite kartico SD v sistemu Linux
- Sledite korakom na
Uporabite kartico SD
- Vstavite kartico SD v Raspberry Pi 2
- Priključite ethernetni kabel v lokalno omrežje
- Priključite kabel USB za napajanje naprave in počakajte …
Končano. Po nekaj minutah bi moral Raspbian vstati.
2. korak: Poiščite Raspberry Pi 2 v svojem lokalnem omrežju
(Če ima Raspberry Pi 2 zaslon, miško in tipkovnico, preskočite ta korak.)
Kje je moj Raspi?
Ko je Raspbian nameščen in je Raspberry Pi 2 povezan z lokalnim omrežjem, bi moral samodejno dobiti naslov IP z DHCP in začeti izvajati sshd, ki posluša dohodne povezave SSH na vratih 22. Toda kaj je IP?
Poglejmo
Eden od načinov za iskanje lokalnega naslova IP Raspberry Pi 2 (in katere koli druge naprave) je uporaba orodja ukazne vrstice nmap.
- Pridobite nmap s spletnega mesta
- Če želite pridobiti lokalni naslov IP računalnika, odprite terminal in vnesite
$ ifconfig
kar ima za posledico nekaj takega kot en0: flags =… 192.168.0.7 maska omrežja…
- Zaženite poizvedbo nmap za vrata 22 z uporabo predpone lokalnega naslova IP, npr.
$ nmap 192.168.0.0-255 -p22
- Preverite rezultat (če je IP več, je običajno najvišji)
Prepričajte se, da je vaš
- Pridobite lokalni dostop SSH do Raspberry Pi 2 s ssh -om z uporabo lokalnega IP -ja, npr.
$ ssh [email protected]
- Vnesite geslo, privzeto je malina
- Spremenite geslo z vnosom
$ passwd
Končano? Vaš Raspberry Pi 2 je zdaj pripravljen za povezavo s storitvijo prenosa.
Korak: Namestite YalerTunnel Daemon
Pregled
Daler YalerTunnel je majhna programska oprema, ki jo bomo namestili na vaš Raspi za povezavo lokalnih storitev, ki se izvajajo v napravi, s storitvijo za prenos v oblaku. Všečkaj to:
Relejna storitev <- Lokalna storitev SSH požarnega zidu
Pridobite relejno domeno
Vsaka naprava, priključena na storitev prenosa, potrebuje relejsko domeno.
- Pridobite brezplačen poskusni račun, vključno z domeno za prenos na
(Ali pa za gostovanje lastnega releja za nekomercialno uporabo glejte
Namestite YalerTunnel
Zgradimo demon YalerTunnel iz vira.
- Odprite lupino na vašem Raspberry Pi 2 in posodobite apt-get with
$ sudo apt-get posodobitev
- Prenesite in namestite libssl z
$ sudo apt-get install libssl-dev
- Ustvarite imenik yalertunnel
$ mkdir yalertunnel
$ cd yalertunnel
- Prenesite, razpakirajte in zgradite vir YalerTunnel
$ wget
$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make
Končano? Nato zaženimo demona.
4. korak: Zaženite demon YalerTunnel Daemon
Omogočite dostop SSH prek Yalerja
$ sudo apt-get install runit
- Ustvarite imenik storitev yalertunnel-ssh
$ sudo mkdir/etc/service/yalertunnel-ssh
$ cd/etc/service/yalertunnel-ssh
- Prenesite skript za zagon yalertunnel in ga izvedite
$ sudo wget https://s3.yaler.net/raspi/run-ssh -O teči
$ sudo chmod a+x run
- Prenesite zaključni skript yalertunnel in ga izvedite
$ sudo wget
$ sudo chmod a+x zaključek
- Odprite zagonski skript z
$ sudo nano/etc/service/yalertunnel-ssh/run
- Preverite pot (privzeto:/home/pi/yalertunnel), nastavite vrata lokalne storitve SSH (privzeto: 22) in nastavite svojo domeno prenosa
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
Shranite spremembe s CTRL-X, nato Y, nato pa RETURN. Ne spreminjajte lokalnega IP -ja (privzeto: 127.0.0.1), razen če storitev SSH deluje na ločeni napravi v istem omrežju.
- Znova zaženite Raspberry Pi 2, da zaženete skript
$ sudo ponovni zagon
Končano. Zdaj pa poglejmo, kako dostopati do Raspija.
5. korak: Dostop do Raspberry Pi 2 s odjemalcem SSH
Uporaba kita v sistemu Windows
- Sledite korakom
Uporaba ssh v sistemu Mac ali Linux
Za razliko od Puttyja, ukaz ssh ne podpira "HTTP CONNECT", zato potrebujemo YalerTunnel tudi na tej strani releja. Evo, kako to izgleda:
Odjemalec SSH -> YalerTunnel v načinu odjemalca -> (požarni zid) -> storitev prenosa
Namestite YalerTunnel na Mac ali Linux
- Prepričajte se, da je nameščen JDK6 (ali novejši)
- Prepričajte se, da spremenljivka okolja PATH vsebuje imenik bin JDK
- Pridobite vir Java za YalerTunnel s
- Razpakirajte datoteko ZIP, odprite terminal in zgradite YalerTunnel
$ javac YalerTunnel.java
Oddaljen dostop do Raspberry Pi 2 s SSH
- Če želite v odjemalčevem računalniku zagnati YalerTunnel, vnesite
$ java YalerTunnel client localhost: 10022 try.yaler.io:80 RELAY_DOMAIN
- V drugem terminalu na odjemalskem računalniku dostopajte do svoje naprave prek lokalnega YalerTunnela s ssh
$ ssh pi@localhost -p 10022 -o ServerAliveInterval = 5
Končano. Zdaj bi morali imeti dostop SSH do vašega Raspberry Pi 2.
Odpravljanje težav
Če ni povezave
- Prepričajte se, da uporabljate pravilno domeno releja
- Če želite preveriti, ali se storitev YalerTunnel izvaja v vaši napravi, vnesite
$ ps aux | grep [y] aler
To je to. Hvala, ker ste prebrali do konca. Če imate vprašanja, se obrnite.