Devo ancora installarlo, ma posso solo provarla sul raspi B2! I B3 che ho non sono proprio miei...
Intanto propongo un'idea per la prossima versione, che potrebbe essere utile a scopi didattici.
Si potrebbe mettere a disposizione della gente che segue i vari corsi la possibilità di connettersi da remoto ai raspberry del lab tramite una web shell, in maniera tale che possano testare roba e/o fare esercizi in maniera super semplice (e sicura).
Non chiedetemi perché, ma ho già lavorato su un sistema che funziona più o meno così:
- All'utente viene dato username-password del raspi per fare login sulla shell.
- L'utente si registra su un portale/piattaforma web.
- I raspi hanno un servizio che comunica con il portale/piattaforma web attraverso internet (ovviamente).
- I raspi non hanno ip pubblico.
- L'utente si logga sulla piattaforma, e viene autorizzato a connettersi da remoto al raspi.
- L'utente va su una pagina web dalla quale verrà esposta una shell del raspi.
- Il raspi indicato riceve dal portale web una notifica della richiesta di connessione. Allegati alla richiesta ci sono una chiave privata RSA valida temporaneamente, e la porta su cui il portale esporrà la shell, scelta a random.
- Il raspi fa partire il server che espone la web shell.
- Il raspi apre un reverse SSH tunnel verso il portale web, dalla porta dove lui serve la web shell alla porta dove verrà servita dal portale web.
- Il raspi notifica il server che il tunnel SSH è stato aperto.- L'utente viene reindirizzato verso la pagina dove ora viene servita la web shell del raspi.
Alla chiusura:
- Il portale web notifica il raspi che deve chiudere il tunnel SSH, ed elimina la chiave privata RSA usata per la connessione.
- Il raspi spegne il server che espone la web shell e chiude il tunnel SSH.
- Il raspi notifica il server che il tunnel è stato chiuso.
Ho trovato su github un bel progetto per una web shell, che viene già distribuito nei repository di alcune distro, per quanto sia più stabile e funzionale se buildato dal source.
Eccolo: You are not allowed to view links.
Register or
LoginCon una architettura di questo genere si evita di creare VPN, spesso instabili a causa di firewall o altri problemi nella rete, e si ha pieno controllo delle autorizzazioni degli utenti nell'accedere da remoto ai raspberry.
Che ne dite?