Cuprins:

Acces SSH de la distanță la Raspberry Pi 2: 5 pași
Acces SSH de la distanță la Raspberry Pi 2: 5 pași

Video: Acces SSH de la distanță la Raspberry Pi 2: 5 pași

Video: Acces SSH de la distanță la Raspberry Pi 2: 5 pași
Video: Raspberry Pi ssh și Remote desktop [2] 2024, Noiembrie
Anonim
Acces SSH de la distanță la Raspberry Pi 2
Acces SSH de la distanță la Raspberry Pi 2

Ați dorit vreodată să implementați un Raspberry Pi „pe teren” și să îl puteți accesa în continuare?

Iată o modalitate ușoară de a permite accesul SSH de la distanță la Raspberry Pi 2 (și la alte modele, de asemenea). Deși există soluții care implică un VPN sau configurarea redirecționării porturilor la un firewall local, acestea sunt adesea greu de gestionat pentru non-experți.

O nouă generație de servicii de releu, inclusiv My-Devices.net, Pagekite.net și Yaler.net încearcă să remedieze acest lucru. Aici folosim serviciul de releu Yaler (dezvăluire: sunt fondator) pentru a oferi acces SSH de oriunde la Raspberry Pi 2.

Material

- Raspberry Pi 2 (sau orice model), de ex.

- cablu USB, A / Micro B, de ex.

- Card Micro SD, 4 GB, de ex.

- cablu Ethernet, de ex.

De asemenea, este necesar

- Computer desktop sau laptop

- Rețea locală cu DHCP

(Notă: Pașii 3-5 pe baza tutorialelor CC BY-SA Yaler. Pașii 1 și 2 vă permit să începeți de la zero.)

Pasul 1: Instalați Raspbian

(Dacă aveți deja Raspbian în funcțiune, săriți peste acest pas.)

Descarcă imaginea

Să folosim imaginea Raspbian Jessie (Lite) care are sshd rulată în mod implicit. Acesta este un plus pentru configurarea „fără cap” fără afișaj, mouse sau tastatură.

- Obțineți cea mai recentă imagine Raspbian de pe https://www.raspberrypi.org/downloads/ sau utilizați acest link direct.

- Dezarhivați imaginea ZIP pentru a obține fișierul imagine IMG

Pregătiți cardul SD pe Mac OSX

Există multe modalități de a pregăti cardul SD pe un Mac. Iată preferatul meu:

- Obțineți instrumentul PiFiller de la https://ivanx.com/raspberrypi/ sau utilizați acest link direct.

- Porniți PiFiller și selectați fișierul imagine IMG descărcat mai sus

Pregătiți cardul SD pe Windows

- Obțineți Win32 Disk Imager de la

- Porniți instrumentul și selectați IMG descărcat mai sus (verificați de două ori unitatea)

Pregătiți cardul SD pe Linux

- Urmați pașii din

Folosiți cardul SD

- Introduceți cardul SD în Raspberry Pi 2

- Conectați cablul Ethernet la rețeaua dvs. locală

- Conectați cablul USB pentru a alimenta dispozitivul și așteptați …

Terminat. După câteva minute, Raspbian ar trebui să fie activ.

Pasul 2: Găsiți Raspberry Pi 2 în rețeaua dvs. locală

(Dacă Raspberry Pi 2 are ecran, mouse și tastatură, săriți peste acest pas.)

Unde este Raspi al meu?

Odată ce Raspbian este instalat și Raspberry Pi 2 este conectat la rețeaua locală, acesta ar trebui să primească automat o adresă IP cu DHCP și să înceapă să ruleze sshd, care ascultă conexiunile SSH primite pe portul 22. Dar care este IP?

Hai să aruncăm o privire

O modalitate de a găsi adresa IP locală a Raspberry Pi 2 (și a oricărui alt dispozitiv) este să folosiți instrumentul pentru linia de comandă nmap.

- Obțineți nmap de la

- Pentru a obține adresa IP locală a computerului, deschideți un terminal și tastați

$ ifconfig

rezultând ceva de genul en0: flags = … 192.168.0.7 netmask …

- Porniți o interogare nmap pentru portul 22 folosind prefixul adresei IP locale, de ex.

$ nmap 192.168.0.0-255 -p22

- Verificați rezultatul (dacă există mai multe adrese IP, de obicei este cel mai mare)

Asigură-te că este a ta

- Obțineți acces SSH local la Raspberry Pi 2 cu ssh, utilizând IP-ul său local, de ex.

$ ssh [email protected]

- Introduceți parola, în mod implicit este zmeură

- Schimbați parola tastând

$ passwd

Terminat? Raspberry Pi 2 este acum gata să fie conectat la serviciul de releu.

Pasul 3: Instalați YalerTunnel Daemon

Prezentare generală

Demonul YalerTunnel este un software mic pe care îl vom pune pe Raspi pentru a conecta serviciile locale care rulează pe dispozitiv la serviciul de releu din cloud. Asa:

Serviciu de releu <- Serviciu SSH local de firewall

Obțineți un domeniu de releu

Fiecare dispozitiv conectat la serviciul de releu are nevoie de un domeniu de releu.

- Obțineți un cont de încercare gratuit, inclusiv un domeniu de releu la

(Sau, pentru a găzdui propriul releu pentru uz necomercial, consultați

Instalați YalerTunnel

Să construim demonul YalerTunnel din sursă.

- Deschideți un shell pe Raspberry Pi 2 și actualizați apt-get cu

$ sudo apt-get update

- Descărcați și instalați libssl cu

$ sudo apt-get install libssl-dev

- Creați un director yalertunnel

$ mkdir yalertunnel

$ cd yalertunnel

- Descărcați, dezarhivați și construiți sursa YalerTunnel

$ wget

$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make

Terminat? Atunci să începem demonul.

Pasul 4: Porniți YalerTunnel Daemon

Activați accesul SSH prin Yaler

$ sudo apt-get install runit

- Creați un director de servicii yalertunnel-ssh

$ sudo mkdir / etc / service / yalertunnel-ssh

$ cd / etc / service / yalertunnel-ssh

- Descărcați scriptul de rulare yalertunnel și faceți-l executabil

$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run

$ sudo chmod a + x run

- Descărcați scriptul de finalizare yalertunnel și faceți-l executabil

$ sudo wget

$ sudo chmod a + x finish

- Deschideți scriptul de rulare cu

$ sudo nano / etc / service / yalertunnel-ssh / run

- Verificați calea (implicit: / home / pi / yalertunnel), setați portul serviciului local SSH (implicit: 22) și setați domeniul de releu

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

Salvați modificările cu CTRL-X, apoi Y, apoi RETURN. Nu modificați IP-ul local (implicit: 127.0.0.1), cu excepția cazului în care serviciul SSH rulează pe un dispozitiv separat din aceeași rețea.

- Reporniți Raspberry Pi 2 pentru a rula scriptul

$ sudo reporniți

Terminat. Acum să vedem cum să accesați Raspi.

Pasul 5: Accesați Raspberry Pi 2 cu un client SSH

Folosind Putty pe Windows

- Urmați pașii

Folosind ssh pe Mac sau Linux

Spre deosebire de Putty, comanda ssh nu acceptă „HTTP CONNECT”, deci avem nevoie de YalerTunnel și pe această parte a releului. Iată cum arată:

Client SSH -> YalerTunnel în modul Client -> (Firewall) -> Serviciu de releu

Instalați YalerTunnel pe Mac sau Linux

- Asigurați-vă că JDK6 (sau o versiune ulterioară) este instalat

- Asigurați-vă că variabila de mediu PATH conține directorul bin al JDK

- Obțineți sursa Java YalerTunnel de la

- Dezarhivați fișierul ZIP, deschideți un terminal și construiți YalerTunnel cu

$ javac YalerTunnel.java

Accesați de la distanță Raspberry Pi 2 cu SSH

- Pe computerul dvs. client, pentru a porni YalerTunnel în modul client, tastați

$ java YalerTunnel client localhost: 10022 try.yaler.io:80 RELAY_DOMAIN

- Într-un al doilea terminal, pe computerul client, accesați dispozitivul dvs. prin YalerTunnel local cu ssh

$ ssh pi @ localhost -p 10022 -o ServerAliveInterval = 5

Terminat. Acum ar trebui să aveți acces SSH la Raspberry Pi 2.

Depanare

Dacă nu există nicio conexiune

- Asigurați-vă că utilizați domeniul de releu corect

- Pentru a vedea dacă serviciul YalerTunnel rulează pe dispozitivul dvs., tastați

$ ps aux | grep [y] aler

Asta e. Mulțumesc că ai citit până la capăt. Dacă aveți întrebări, luați legătura.

Recomandat: