Inhoudsopgave:

Externe SSH-toegang tot Raspberry Pi 2: 5 stappen
Externe SSH-toegang tot Raspberry Pi 2: 5 stappen

Video: Externe SSH-toegang tot Raspberry Pi 2: 5 stappen

Video: Externe SSH-toegang tot Raspberry Pi 2: 5 stappen
Video: Raspberry Pi 4B в корпусе Argon ONE M.2 c SSD диском 128 ГБ, собираем сервер для Home Assistant 2024, Juli-
Anonim
Externe SSH-toegang tot Raspberry Pi 2
Externe SSH-toegang tot Raspberry Pi 2

Ooit een Raspberry Pi "in het veld" willen inzetten en er nog steeds toegang toe hebben?

Hier is een eenvoudige manier om externe SSH-toegang tot uw Raspberry Pi 2 (en ook andere modellen) in te schakelen. Hoewel er oplossingen zijn met een VPN of het configureren van port forwarding bij een lokale firewall, zijn deze vaak moeilijk te beheren voor niet-experts.

Een nieuwe generatie relay-services, waaronder My-Devices.net, Pagekite.net en Yaler.net, probeert dit op te lossen. Hier gebruiken we de Yaler-relayservice (openbaarmaking: ik ben een oprichter) om overal SSH-toegang tot de Raspberry Pi 2 te bieden.

Materiaal

- Raspberry Pi 2 (of een willekeurig model), b.v.

- USB-kabel, A / Micro B, b.v.

- Micro SD-kaart, 4 GB, b.v.

- Ethernet-kabel, b.v.

Ook nodig

- Desktop- of laptopcomputer

- Lokaal netwerk met DHCP

(Opmerking: Stappen 3-5 gebaseerd op CC BY-SA Yaler-zelfstudies. Stappen 1 en 2 laten u helemaal opnieuw beginnen.)

Stap 1: Installeer Raspbian

(Als je Raspbian al hebt draaien, sla deze stap dan over.)

Download de afbeelding

Laten we de Raspbian Jessie (Lite)-afbeelding gebruiken waarop standaard sshd draait. Dat is een pluspunt voor een "headless" installatie zonder beeldscherm, muis of toetsenbord.

- Haal de meest recente Raspbian-afbeelding van https://www.raspberrypi.org/downloads/ of gebruik deze directe link.

- Pak de ZIP van de afbeelding uit om het IMG-afbeeldingsbestand te krijgen

Bereid de SD-kaart voor op Mac OSX

Er zijn veel manieren om de SD-kaart op een Mac voor te bereiden. Hier is mijn favoriet:

- Download de PiFiller-tool van https://ivanx.com/raspberrypi/ of gebruik deze directe link.

- Start PiFiller en selecteer het hierboven gedownloade IMG-afbeeldingsbestand

Bereid de SD-kaart voor op Windows

- Haal Win32 Disk Imager op van

- Start de tool en selecteer de IMG die hierboven is gedownload (controleer de schijf dubbel)

Bereid de SD-kaart voor op Linux

- Volg de stappen in

Gebruik de SD-kaart

- Steek de SD-kaart in de Raspberry Pi 2

- Sluit de ethernetkabel aan op uw lokale netwerk

- Sluit de USB-kabel aan om het apparaat van stroom te voorzien en wacht…

Gedaan. Na een paar minuten zou Raspbian moeten verschijnen.

Stap 2: Zoek de Raspberry Pi 2 in uw lokale netwerk

(Als de Raspberry Pi 2 een beeldscherm, muis en toetsenbord heeft, sla deze stap dan over.)

Waar is mijn Raspi?

Zodra Raspbian is geïnstalleerd en de Raspberry Pi 2 is verbonden met het lokale netwerk, zou deze automatisch een IP-adres met DHCP moeten krijgen en sshd moeten starten, dat luistert naar inkomende SSH-verbindingen op poort 22. Maar wat is het IP-adres?

Laten we eens kijken

Een manier om het lokale IP-adres van de Raspberry Pi 2 (en elk ander apparaat) te vinden, is door de opdrachtregeltool nmap te gebruiken.

- Haal nmap op van

- Om het lokale IP-adres van uw computer te krijgen, opent u een terminal en typt u

$ ifconfig

resulterend in iets als en0: flags= … 192.168.0.7 netmask …

- Start een nmap-query voor poort 22 met uw lokale IP-adresvoorvoegsel, b.v.

$ nmap 192.168.0.0-255 -p22

- Controleer het resultaat (als er meerdere IP's zijn, is dit meestal de hoogste)

Zorg ervoor dat het van jou is

- Krijg lokale SSH-toegang tot de Raspberry Pi 2 met ssh, met behulp van zijn lokale IP, b.v.

$ ssh [email protected]

- Voer het wachtwoord in, standaard is het framboos

- Wijzig het wachtwoord door te typen

$ wachtwoord

Gedaan? Uw Raspberry Pi 2 is nu klaar om te worden aangesloten op de relay-service.

Stap 3: Installeer de YalerTunnel Daemon

Overzicht

De YalerTunnel-daemon is kleine software die we op uw Raspi plaatsen om lokale services die op het apparaat worden uitgevoerd, te verbinden met de relayservice in de cloud. Zoals dit:

Relay-service <- Firewall Lokale SSH-service

Krijg een relay-domein

Elk apparaat dat is verbonden met de relay-service heeft een relay-domein nodig.

- Ontvang een gratis proefaccount inclusief een relay-domein op

(Of, om uw eigen relais te hosten voor niet-commercieel gebruik, zie

YalerTunnel installeren

Laten we de YalerTunnel-daemon bouwen vanaf de broncode.

- Open een shell op je Raspberry Pi 2 en update apt-get met

$ sudo apt-get update

- Download en installeer libssl met

$ sudo apt-get install libssl-dev

- Maak een yalertunnel-map

$ mkdir yalertunnel

$ cd yalertunnel

- Download, pak uit en bouw de YalerTunnel-bron

$ wget

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

Gedaan? Laten we dan de daemon starten.

Stap 4: Start de YalerTunnel Daemon

SSH-toegang inschakelen via Yaler

$ sudo apt-get install runit

- Maak een yalertunnel-ssh-servicedirectory

$ sudo mkdir /etc/service/yalertunnel-ssh

$ cd /etc/service/yalertunnel-ssh

- Download het yalertunnel-runscript en maak het uitvoerbaar

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

$ sudo chmod a+x run

- Download het yalertunnel finish script en maak het uitvoerbaar

$ sudo wget

$ sudo chmod a+x finish

- Open het run-script met

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

- Controleer het pad (standaard: /home/pi/yalertunnel), stel de poort van de lokale SSH-service in (standaard: 22) en stel je relay-domein in

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

Sla wijzigingen op met CTRL-X, dan Y, dan RETURN. Wijzig het lokale IP-adres niet (standaard: 127.0.0.1), tenzij de SSH-service op een apart apparaat in hetzelfde netwerk draait.

- Herstart je Raspberry Pi 2 om het script uit te voeren

$ sudo opnieuw opstarten

Gedaan. Laten we nu eens kijken hoe we toegang krijgen tot de Raspi.

Stap 5: Toegang tot de Raspberry Pi 2 met een SSH-client

Putty gebruiken op Windows

- Volg de stappen

Ssh gebruiken op Mac of Linux

In tegenstelling tot Putty ondersteunt het ssh-commando "HTTP CONNECT" niet, dus we hebben ook YalerTunnel aan deze kant van het relais nodig. Zo ziet dat eruit:

SSH-client -> YalerTunnel in clientmodus -> (Firewall) -> Relay-service

Installeer YalerTunnel op Mac of Linux

- Zorg ervoor dat JDK6 (of later) is geïnstalleerd

- Zorg ervoor dat uw PATH-omgevingsvariabele de bin-directory van de JDK bevat

- Haal de YalerTunnel Java-bron op van

- Pak het ZIP-bestand uit, open een terminal en bouw YalerTunnel met

$ javac YalerTunnel.java

Toegang op afstand tot de Raspberry Pi 2 met SSH

- Typ op uw clientcomputer om YalerTunnel in clientmodus te starten:

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

- In een tweede terminal, op de clientcomputer, krijg je toegang tot je apparaat via de lokale YalerTunnel met ssh

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

Gedaan. Je zou nu SSH-toegang moeten hebben tot je Raspberry Pi 2.

Probleemoplossen

Als er geen verbinding is

- Zorg ervoor dat u het juiste relay-domein gebruikt

- Om te zien of de YalerTunnel-service op uw apparaat wordt uitgevoerd, typt u

$ ps aux | grep [y]aler

Dat is het. Bedankt voor het lezen tot het einde. Als je vragen hebt, neem dan contact op.

Aanbevolen: