Sommario:

Accesso SSH remoto a Raspberry Pi 2: 5 passaggi
Accesso SSH remoto a Raspberry Pi 2: 5 passaggi

Video: Accesso SSH remoto a Raspberry Pi 2: 5 passaggi

Video: Accesso SSH remoto a Raspberry Pi 2: 5 passaggi
Video: Come abilitare il server SSH su RaspberryPi e collegarsi da terminale - Video 42 2024, Dicembre
Anonim
Accesso SSH remoto a Raspberry Pi 2
Accesso SSH remoto a Raspberry Pi 2

Hai mai desiderato distribuire un Raspberry Pi "sul campo" ed essere ancora in grado di accedervi?

Ecco un modo semplice per abilitare l'accesso SSH remoto al tuo Raspberry Pi 2 (e anche ad altri modelli). Sebbene ci siano soluzioni che coinvolgono una VPN o la configurazione del port forwarding su un firewall locale, queste sono spesso difficili da gestire per i non esperti.

Una nuova generazione di servizi di inoltro tra cui My-Devices.net, Pagekite.net e Yaler.net cerca di risolvere il problema. Qui utilizziamo il servizio di inoltro Yaler (divulgazione: sono un fondatore) per fornire l'accesso SSH da qualsiasi luogo al Raspberry Pi 2.

Materiale

- Raspberry Pi 2 (o qualsiasi modello), ad es.

- Cavo USB, A / Micro B, ad es.

- Scheda Micro SD, 4 GB, ad es.

- Cavo Ethernet, ad es.

Necessario anche

- Computer desktop o portatile

- Rete locale con DHCP

(Nota: i passaggi 3-5 basati sui tutorial CC BY-SA Yaler. I passaggi 1 e 2 consentono di iniziare da zero.)

Passaggio 1: installa Raspbian

(Se hai già Raspbian in esecuzione, salta questo passaggio.)

Scarica l'immagine

Usiamo l'immagine Raspbian Jessie (Lite) che ha sshd in esecuzione per impostazione predefinita. Questo è un vantaggio per la configurazione "senza testa" senza display, mouse o tastiera.

- Ottieni l'immagine Raspbian più recente da https://www.raspberrypi.org/downloads/ o usa questo collegamento diretto.

- Decomprimi lo ZIP dell'immagine per ottenere il file immagine IMG

Prepara la scheda SD su Mac OSX

Esistono molti modi per preparare la scheda SD su un Mac. Ecco il mio preferito:

- Ottieni lo strumento PiFiller da https://ivanx.com/raspberrypi/ o usa questo collegamento diretto.

- Avvia PiFiller e seleziona il file immagine IMG scaricato sopra

Prepara la scheda SD su Windows

- Ottieni Win32 Disk Imager da

- Avvia lo strumento e seleziona l'IMG scaricato sopra (ricontrolla l'unità)

Prepara la scheda SD su Linux

- Segui i passaggi in

Usa la scheda SD

- Inserisci la scheda SD nel Raspberry Pi 2

- Collega il cavo ethernet alla tua rete locale

- Collega il cavo USB per alimentare il dispositivo e attendi…

Fatto. Dopo alcuni minuti, Raspbian dovrebbe essere attivo.

Passaggio 2: trova il Raspberry Pi 2 nella rete locale

(Se il Raspberry Pi 2 dispone di display, mouse e tastiera, saltare questo passaggio.)

Dov'è il mio Raspi?

Una volta che Raspbian è installato e il Raspberry Pi 2 è connesso alla rete locale, dovrebbe ottenere automaticamente un indirizzo IP con DHCP e iniziare a eseguire sshd, che ascolta le connessioni SSH in entrata sulla porta 22. Ma qual è l'IP?

Diamo un'occhiata

Un modo per trovare l'indirizzo IP locale del Raspberry Pi 2 (e di qualsiasi altro dispositivo) è utilizzare lo strumento da riga di comando nmap.

- Ottieni nmap da

- Per ottenere l'indirizzo IP locale del tuo computer, apri un terminale e digita

$ ifconfig

risultando in qualcosa come en0: flags= … 192.168.0.7 netmask …

- Avvia una query nmap per la porta 22 utilizzando il prefisso dell'indirizzo IP locale, ad es.

$ nmap 192.168.0.0-255 -p22

- Controlla il risultato (se ci sono più IP, di solito è il più alto)

Assicurati che sia tuo

- Ottieni l'accesso SSH locale al Raspberry Pi 2 con ssh, utilizzando il suo IP locale, ad es.

$ ssh [email protected]

- Inserisci la password, di default è lampone

- Modificare la password digitando

$ passwd

Fatto? Il tuo Raspberry Pi 2 è ora pronto per essere connesso al servizio di inoltro.

Passaggio 3: installa il demone YalerTunnel

Panoramica

Il demone YalerTunnel è un piccolo software che installeremo sul tuo Raspi per connettere i servizi locali in esecuzione sul dispositivo al servizio di inoltro nel cloud. Come questo:

Servizio di inoltro <- Servizio SSH locale del firewall

Ottieni un dominio di inoltro

Ogni dispositivo connesso al servizio di inoltro necessita di un dominio di inoltro.

- Ottieni un account di prova gratuito che includa un dominio di inoltro su

(Oppure, per ospitare il proprio relay per uso non commerciale, vedere

Installa YalerTunnel

Creiamo il demone YalerTunnel dal sorgente.

- Apri una shell sul tuo Raspberry Pi 2 e aggiorna apt-get con

$ sudo apt-get update

- Scarica e installa libssl con

$ sudo apt-get install libssl-dev

- Crea una directory yalertunnel

$ mkdir yalertunnel

$ cd yalertunnel

- Scarica, decomprimi e crea il sorgente YalerTunnel

$ wget

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

Fatto? Quindi avviamo il demone.

Passaggio 4: avviare il demone YalerTunnel

Abilita l'accesso SSH tramite Yaler

$ sudo apt-get install runit

- Crea una directory del servizio yalertunnel-ssh

$ sudo mkdir /etc/service/yalertunnel-ssh

$ cd /etc/service/yalertunnel-ssh

- Scarica lo script di esecuzione di yalertunnel e rendilo eseguibile

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

$ sudo chmod a+x run

- Scarica lo script di finitura di yalertunnel e rendilo eseguibile

$ sudo wget

$ sudo chmod a+x finish

- Apri lo script di esecuzione con

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

- Controlla il percorso (predefinito: /home/pi/yalertunnel), imposta la porta del servizio SSH locale (predefinito: 22) e imposta il tuo dominio di inoltro

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 le modifiche con CTRL-X, poi Y, quindi RETURN. Non modificare l'IP locale (predefinito: 127.0.0.1), a meno che il servizio SSH non venga eseguito su un dispositivo separato nella stessa rete.

- Riavvia il tuo Raspberry Pi 2 per eseguire lo script

$ sudo reboot

Fatto. Vediamo ora come accedere al Raspi.

Passaggio 5: accedere al Raspberry Pi 2 con un client SSH

Usare Putty su Windows

- Segui i passaggi

Utilizzo di ssh su Mac o Linux

A differenza di Putty, il comando ssh non supporta "HTTP CONNECT", quindi abbiamo bisogno di YalerTunnel anche su questo lato del relè. Ecco come appare:

Client SSH -> YalerTunnel in modalità client -> (Firewall) -> Servizio di inoltro

Installa YalerTunnel su Mac o Linux

- Assicurati che JDK6 (o successivo) sia installato

- Assicurati che la tua variabile di ambiente PATH contenga la directory bin di JDK

- Ottieni il sorgente Java YalerTunnel da

- Decomprimi il file ZIP, apri un terminale e crea YalerTunnel con

$ javac YalerTunnel.java

Accedi in remoto al Raspberry Pi 2 con SSH

- Sul tuo computer client, per avviare YalerTunnel in modalità client, digita

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

- In un secondo terminale, sul computer client, accedi al tuo dispositivo tramite YalerTunnel locale con ssh

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

Fatto. Ora dovresti avere accesso SSH al tuo Raspberry Pi 2.

Risoluzione dei problemi

Se non c'è connessione

- Assicurati di utilizzare il dominio di inoltro corretto

- Per vedere se il servizio YalerTunnel è in esecuzione sul tuo dispositivo, digita

$ ps aux | grep [y]aler

Questo è tutto. Grazie per aver letto fino alla fine. Se hai domande, contattaci.

Consigliato: