Guida Utilizzare Raspberry come Server SFTP in WAN

0xbro

Super Moderatore
24 Febbraio 2017
4,461
179
3,762
1,825
Indice:
1. Introduzione
2. Strumenti necessari
3. Configurare il Raspberry
4. Configurare il DDNS
5. Configurare il routing e IP
6. Avvertenze


1. Introduzione
In molti magari dispongono di un Raspberry e vogliono poterlo usare come server SFTP per caricare e scaricare files, documenti, foto ecc. , ma non sanno come fare avendo un IP dinamico che cambia col tempo e non potendo sapere quale sia il suo valore (mettiamo caso che dobbiamo stare fuori un weekend e a casa riavviano il router).
La soluzione è molto semplice.
In questa piccola guida vedremo come configurare il nostro PI in modo da poterci collegare in remoto, sia tramite SSH che tramite SFTP, anche trovandoci fuori dalla nostra LAN, tramite l'utilizzo di un DNS dinamico collegato al nostro IP di casa.

2. Strumenti necessari
Come primo strumento fondamentale, ovviamente, troviamo il nostro Raspberry (nel mio caso un Pi3, ma qualunque modello può andare bene). Un qualsiasi mezzo di memorizzazione esterna da poter collegare al nostro Pi (io utilizzo la SD integrata su cui monta il SO, ma siate liberi di usare HDD, SSD, USB o altro di cui disponete).
Sorvolerò sulle ovvietà, quali che abbia una distro installata, che sia collegato a internet ecc.
Avremo inoltre bisogno di un client FTP come Filezilla (portable) per poter successivamente provare se funziono i settaggi della configurazione SFTP, un client SSH (potrebbe essere PuTTY portable) per verificare anche questi altri settaggi, un account su No-Ip per poter disporre di un DNS dinamico e dell'accesso alle impostazioni del nostro router.
Se abbiamo tutto questo, bene, possiamo cominciare.

3. Configurare il Raspberry
Entrare nel vostro Raspberry (io utilizzo Raspbian in modalità CLI) e digitate sul terminale il comando
Codice:
sudo raspi-config
in modo da entrare nelle impostazioni del Pi.
Dirigiamoci al punto 5 "Interfacing Options", e diamo Invio. Avremo davanti a noi tutte le opzioni di interfaccia del Raspberry, con la possibilità di poterle attivare o disattivare.
Siccome il servizio SFTP gira "a braccetto" con quello SSH, e sono sulla stessa porta (entrambi utilizzano il demone OpenSSH sulla porta 22), per poter utilizzare SFTP dovremo abilitare l'opzione di interfaccia SSH.
Fatto ciò, se volessimo implementare anche l'FTP normale (sconsigliato, per ragioni di sicurezza) dovremmo andare sempre da terminale e dare il comando
Codice:
sudo apt-get install pure-ftpd
configurare opportunamente user e gruppi, creare le directory e sistemare qualche file di configurazione (per il dettaglio, seguire la documentazione officiale https://www.raspberrypi.org/documentation/remote-access/ftp.md).
Non è però ciò che interessa a noi.
Abbiamo quindi il nostro servizio che gira, possiamo passare alla creazione del DNS dinamico!

4. Configurare il DDNS
Il DDNS non è altro che un DNS dinamico (DNS: https://it.wikipedia.org/wiki/Domain_Name_System DDNS: https://it.wikipedia.org/wiki/Dynamic_DNS).
In poche parole, è un meccanismo che consente di abbinare un URL a nostra scelta al nostro IP, senza preoccuparci in caso dovesse cambiare poiché automaticamente la relazione DNS-IP verrebbe aggiornata col nuovo IP.
Per disporre di un DDNS abbiamo bisogno di registrarci al sito di No-Ip (https://www.noip.com/). Scegliamo il nostro hostname, e procediamo alla conclusione della nostra registrazione.
Siate liberi di scegliere qualunque piano voi vogliate, sappiate che il piano gratuito dispone però di una piccola limitazione: ogni 30 giorni sarà necessario rinnovare l'account, altrimenti allo scadere dei 30gg verrà temporaneamente fino al rinnovo. Nulla di che comunque.
No-ip non è il solo a offrire questo servizio, se non vi piace, potete tranquillamente cercare sul web altre piattaforme simili a questa. La logica alla fine è sempre la stessa.

5. Configurare il routing e IP
Bene, siamo arrivati alla parte finale, configurare il routing verso il nostro Pi. Entriamo nelle configurazioni del modem (per sapere come fare basta dare un ip route show da terminale, copiare l'IP dove c'è scritto default e incollarlo nella barra degli URL di un browser). Facciamo il login e rechiamoci nei settaggi dove si parla dei DNS. Incolliamo il DDNS che abbiamo creato su No-ip, immettiamo i nostri dati e confermiamo.
Spostiamoci nelle configurazioni IP e assegniamo un IP statico al nostro raspberry, immettendo il mac address con cui si collega alla LAN abbinato a un IP di nostra scelta.
Non abbiamo ancora finito però, dobbiamo sistemare il port forwarding.
Spostiamoci nei settaggi di routing delle connessioni e creiamo una nuova opzione che accetti connessioni sulla porta in cui vogliamo collegarci per usare l'SSH e SFTP dalla WAN (es la 5555) e che rediriga il traffico verso l'ip del nostro raspberry, sulla sua porta 22. Finito!
Ora ogni volta che ci collegheremo al nostro hostname sulla porta 22, potremo accedere al Pi tramite SSH o SFTP.

6. Avvertenze
Esporre un dispositivo su internet è sempre molto pericoloso. Assicurarsi di usare sempre password molto forti e programmi che non abbiano vulnerabilità, in modo che non possano essere exploitati. Testate la vostra sicurezza per essere sicuri che nessuno da fuori possa violarla e fate sempre attenzione.

Detto questo, buon utilizzo! :)
 
  • Mi piace
Reazioni: chricatanese46