Un Raspberry Pi spesso lavora senza monitor. Può stare chiuso in un armadio o montato su un robot, oppure manca uno schermo libero. In questi casi lo si comanda da un altro computer. La guida usa due strumenti. Nella rete di casa c’è SSH con autenticazione a chiave. Da qualsiasi altra rete c’è Raspberry Pi Connect, il servizio gratuito di Raspberry Pi che apre una shell remota nel browser senza aprire porte sul router. Alla fine il Pi sarà raggiungibile con una chiave dalla rete locale e con Connect da fuori casa, anche dopo un riavvio. I comandi sono quelli della documentazione ufficiale, elencata in fondo.
Cosa serve
- Un Raspberry Pi con Raspberry Pi OS Bookworm o successivo, collegato alla rete di casa e a Internet per usare Connect. Connect non funziona con le versioni di Raspberry Pi OS precedenti a Bookworm. Per la parte su Connect la guida considera la versione completa di Raspberry Pi OS, con desktop, che include Connect già installato. L’installazione di Connect su Raspberry Pi OS Lite non viene trattata.
- Un altro computer nella stessa rete locale, con Linux o macOS e il client SSH. I comandi da lanciare sul computer sono pensati per il terminale di questi sistemi.
- La password dell’account utente del Pi, che serve per il primo accesso e per copiare la chiave.
- Per l’accesso da fuori casa, un Raspberry Pi ID su connect.raspberrypi.com e un browser che supporti ECMAScript 2022.
- Solo per condividere lo schermo con Connect servono altre due condizioni insieme. La prima è il window server Wayland, che è quello predefinito di Raspberry Pi OS Bookworm e successivi: con X la condivisione non funziona. La seconda è una sessione grafica già aperta con lo stesso utente collegato a Connect. Di solito la si ottiene attivando Desktop Autologin in System Options di
raspi-config. La shell remota non richiede nessuna delle due.
Attivare il server SSH sul Raspberry Pi
Su Raspberry Pi OS il server SSH è spento di default, quindi va acceso prima di tutto. La documentazione di Raspberry Pi sull’accesso remoto indica diversi modi:
- Dal desktop: Preferences, Control Centre, scheda Interfaces, poi SSH su Enabled.
- Con Raspberry Pi Imager, mentre si scrive una nuova immagine: nella scheda Customisation, sezione Remote Access, si attiva Enable SSH. Qui si può scegliere subito «Use public key authentication». Chi preferisce partire con la password aggiunge la chiave più avanti, come spiegato sotto.
- Da terminale sul Pi, con lo strumento di configurazione: Interfacing Options, SSH, Yes, Ok e infine Finish.
sudo raspi-configC’è anche un metodo manuale: sul Pi si crea un file vuoto chiamato ssh nella partizione di boot e poi lo si riavvia.
sudo touch /boot/firmware/sshsudo rebootTrovare l’indirizzo IP del Pi nella rete di casa
Per collegarsi con SSH serve l’indirizzo IP locale del Pi. Dal desktop basta passare il mouse sull’icona di rete: compare un riquadro con il nome della rete e l’indirizzo. Da terminale, sul Pi, si usa questo comando, che stampa l’indirizzo locale:
hostname -IIn alternativa l’indirizzo si trova nell’elenco dei dispositivi collegati al router.
Collegarsi al Pi con SSH dal computer
Sul computer si apre il terminale e si lancia il comando qui sotto. Al posto di <username> va il nome dell’account del Pi e al posto di <ip address> l’indirizzo trovato prima.
ssh <username>@<ip address>Alla prima connessione compare un avviso di sicurezza. Si scrive yes per proseguire e poi si inserisce la password dell’account del Pi. Quando compare il prompt del Pi, i comandi che si scrivono vengono eseguiti sul Pi. Per chiudere la sessione si scrive exit oppure si preme Ctrl+D.
In questa guida SSH resta dentro la rete di casa: la porta 22 non va aperta sul router. Da fuori si passa per Raspberry Pi Connect, descritto più avanti.
Generare una coppia di chiavi Ed25519 sul computer
Con le chiavi non serve più la password dell’account. Il computer conserva una chiave privata e il Pi la chiave pubblica corrispondente. I comandi di questa sezione si lanciano sul computer, non sul Pi. Prima si controlla se esiste già una chiave:
ls ~/.sshSe nell’elenco c’è id_ed25519.pub o id_rsa.pub, una chiave esiste già: si salta la generazione e si usa quella. Altrimenti si crea una chiave Ed25519. La documentazione di Ubuntu Server su OpenSSH consiglia questo algoritmo perché ha chiavi più corte e richiede meno calcoli:
ssh-keygen -t ed25519Durante la creazione viene chiesta una passphrase. La documentazione di Raspberry Pi suggerisce di premere Invio e lasciarla vuota. Noi consigliamo di impostarne una, così il file della chiave privata da solo non basta per entrare. L’agente SSH della sezione successiva evita di riscriverla a ogni connessione. La chiave pubblica viene salvata in ~/.ssh/id_ed25519.pub e quella privata in ~/.ssh/id_ed25519. Il file senza .pub resta sul computer e non va mai copiato altrove.
Caricare la chiave nell’agente e copiarla sul Pi
Anche questi comandi si lanciano sul computer. L’agente SSH tiene in memoria la chiave sbloccata per tutta la sessione. Si avvia così:
eval "$(ssh-agent -s)"Poi si passa all’agente il percorso della chiave privata. Con la chiave Ed25519 appena generata, che è il caso più comune, il comando da scrivere è ssh-add ~/.ssh/id_ed25519. In caso di dubbio sul nome del file, si rilancia ls ~/.ssh e si controlla.
Il blocco qui sotto serve solo a chi aveva già una chiave RSA, cioè un file id_rsa. Con una chiave Ed25519 non va copiato così com’è.
ssh-add ~/.ssh/id_rsaInfine si copia la chiave pubblica sul Pi. Viene chiesta la password dell’account del Pi, per l’ultima volta:
ssh-copy-id <username>@<ip address>Per verificare, ci si ricollega con lo stesso comando ssh di prima. Se il Pi non chiede più la password dell’account, l’accesso con la chiave funziona. Se sul computer manca ssh-copy-id, la pagina di Raspberry Pi sull’accesso remoto spiega il metodo manuale con scp e i permessi da dare alla cartella .ssh e al file authorized_keys.
Modificare la configurazione di sshd sul Pi senza restare chiusi fuori
Tutti i comandi di questa sezione si eseguono sul Raspberry Pi, non sul computer. Ci si collega con ssh <username>@<ip address> e li si lancia nella sessione aperta, oppure si lavora direttamente sul Pi con tastiera e monitor. Se li si lanciasse nel terminale del computer, si modificherebbe il server SSH del computer, ammesso che ne abbia uno.
Attenzione: con una configurazione di sshd sbagliata si può perdere l’accesso al Pi dopo il riavvio del servizio, e il server può anche rifiutarsi di partire. Prima di cominciare bisogna aver verificato che l’accesso con la chiave funziona. Poi si tiene aperta una sessione SSH già collegata al Pi finché un nuovo accesso da un altro terminale non va a buon fine. Se non resta nessun’altra via d’accesso, bisogna lavorare sul Pi con tastiera e monitor.
La procedura viene dalla documentazione di Ubuntu Server, che descrive Ubuntu e non Raspberry Pi OS. Prima, sul Pi, si salva una copia del file originale e la si rende di sola lettura, così resta come riferimento:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalsudo chmod a-w /etc/ssh/sshd_config.originalPoi si apre il file di configurazione del Pi:
sudo nano /etc/ssh/sshd_configLa pagina di Ubuntu mostra una modifica di esempio, facoltativa. Le stesse precauzioni valgono per qualsiasi altra direttiva. Quando un client si collega, prima dell’autenticazione il server risponde con un banner che riporta la versione di OpenSSH e quella del sistema operativo. Per togliere le informazioni sul sistema si aggiunge la riga DebianBanner no. In nano si salva con Ctrl+O e Invio e si esce con Ctrl+X. Per controllare il risultato, la pagina di Ubuntu apre una connessione verso la porta 22 della macchina stessa con nc, prima e dopo la modifica. Dopo il riavvio del servizio, nel banner non deve più comparire la parte che indica il sistema operativo.
Su Ubuntu il file principale comincia con la riga Include /etc/ssh/sshd_config.d/*.conf. Per quasi tutte le direttive OpenSSH usa il primo valore che trova, quindi i file di quella cartella hanno la precedenza. Su Raspberry Pi OS conviene guardare se in cima a /etc/ssh/sshd_config c’è la stessa riga. Se c’è, vanno controllati anche i file in /etc/ssh/sshd_config.d/.
Prima di riavviare, sul Pi si controlla la configurazione. Così un errore di sintassi viene fuori prima che il server si fermi:
sudo sshd -tSe non compaiono errori, si riavvia il servizio sul Pi per applicare le modifiche:
sudo systemctl restart sshSubito dopo si prova un nuovo accesso da un altro terminale del computer, lasciando aperta la vecchia sessione. Per tornare alla configurazione di partenza si lavora ancora sul Pi. Nella sessione aperta, o con tastiera e monitor, si copia con sudo /etc/ssh/sshd_config.original al posto di /etc/ssh/sshd_config e si riavvia di nuovo il servizio ssh.
Seguire il log del servizio SSH sul Pi
Se l’accesso con la chiave non funziona, la pagina di Ubuntu suggerisce di seguire in tempo reale il log del servizio SSH sulla macchina a cui ci si collega. Qui quella macchina è il Pi: il comando si lancia lì.
sudo journalctl -fu ssh.serviceMentre il log scorre, si prova un accesso dal computer e si leggono le righe nuove. Per uscire dalla visualizzazione continua si preme Ctrl+C.
Attivare Raspberry Pi Connect per l’accesso da fuori casa
Connect permette di raggiungere il Pi dal browser, da qualsiasi rete, senza aprire porte e senza conoscere l’indirizzo IP. Richiede Raspberry Pi OS Bookworm o successivo. La guida introduttiva di Connect spiega che le versioni complete di Raspberry Pi OS lo includono, ma con il servizio spento. Serve un Raspberry Pi ID, nuovo o già esistente, con cui accedere a connect.raspberrypi.com. Poi, sul Pi, si accende il servizio:
rpi-connect onA questo punto il servizio è acceso, ma il Pi non è ancora collegato all’account. Per collegarlo, sempre sul Pi:
rpi-connect signinIl comando stampa un indirizzo di verifica simile a questo:
Complete sign in by visiting https://connect.raspberrypi.com/verify/XXXX-XXXXSi apre l’indirizzo su un dispositivo qualsiasi, si accede con il Raspberry Pi ID e si dà un nome al Pi. All’email dell’account arriva la notifica di un nuovo dispositivo collegato. Lo stato si controlla così:
rpi-connect statusSigned in: yes
Subscribed to events: yes
Screen sharing: allowed (0 sessions active)
Remote shell: allowed (0 sessions active)Da quel momento si va su connect.raspberrypi.com, nella scheda Devices: il pulsante Connect via apre la shell remota (Remote shell) o la condivisione dello schermo (Screen sharing). I dettagli sono nella pagina sull’accesso con Connect. Chi entra nell’account può entrare anche nel Pi, quindi conviene attivare l’autenticazione a due fattori sul Raspberry Pi ID. Se arriva la notifica di un dispositivo che non si riconosce, bisogna cambiare subito la password del Raspberry Pi ID e togliere quel dispositivo dalla dashboard.
Restare raggiungibili dopo un riavvio
Connect gira come servizio dell’utente, non come root, e funziona solo quando l’account ha una sessione aperta. Se il Pi si riavvia con il login automatico disattivato, diventa irraggiungibile. Le soluzioni sono due: lasciare attivo il login automatico, oppure abilitare lo user-lingering, che tiene Connect in funzione anche senza nessun login. Il comando si lancia sul Pi, dal proprio account utente e senza sudo:
loginctl enable-lingerQuesto riguarda chiunque usi il Pi senza monitor e senza tastiera, anche con Raspberry Pi OS con desktop: senza una sessione aperta, dopo un riavvio a distanza la shell remota non risponde. La pagina di gestione di Connect raccomanda esplicitamente il lingering sulle installazioni headless di Raspberry Pi OS Lite. Per condividere lo schermo il lingering non basta: serve comunque una sessione grafica già aperta. C’è anche un altro limite: l’aggiornamento di Connect chiude le sessioni remote in corso. Se lo si aggiorna dalla shell remota, i comandi vanno lanciati dentro screen o tmux.
Ridurre le funzioni, scollegare o disinstallare Connect
Anche questi comandi si lanciano sul Pi. Chi usa solo la shell può disattivare la condivisione dello schermo, e chi usa solo lo schermo può fare il contrario. Per riattivarle si usano rpi-connect vnc on e rpi-connect shell on.
rpi-connect vnc offrpi-connect shell offAttenzione: se si disattivano entrambe le funzioni, Connect non raggiunge più il Pi. Resta solo SSH, che in questa guida funziona solo nella rete di casa.
Per scollegare il Pi dal proprio Raspberry Pi ID:
rpi-connect signoutPer fermare e rimuovere Connect si usa il comando qui sotto. Dopo la rimozione il Pi non è più raggiungibile da fuori casa.
sudo apt remove --purge rpi-connectAnche dopo la disinstallazione il numero di serie del Pi resta legato all’account, e il dispositivo continua a comparire nella dashboard. Per rompere il legame va tolto dall’elenco dei dispositivi su connect.raspberrypi.com. Chi ha installato la variante Connect Lite, che questa guida non tratta, scrive rpi-connect-lite al posto di rpi-connect nel comando di disinstallazione.
Se qualcosa va storto
- SSH risponde «connection timed out»: ricontrollare l’indirizzo IP, sul Pi o nel router. Controllare anche che il server SSH sia davvero attivo sul Pi, con uno dei metodi della prima sezione.
- Connect non risponde dopo un riavvio o dopo la chiusura della sessione SSH: non c’è nessuna sessione attiva dell’utente. Si abilita lo user-lingering come descritto sopra. La condivisione dello schermo invece richiede una sessione grafica già aperta, che si ottiene attivando Desktop Autologin in System Options di
raspi-config. - Lo stato riporta «Raspberry Pi Connect is not running»: si lancia
rpi-connect on. - Connect non comunica su una rete molto restrittiva: sul Pi si lancia
rpi-connect doctor, che esegue una serie di test e segna con una x quelli falliti. Vanno consentite le connessioni HTTPS sulla porta 443 verso api.connect.raspberrypi.com e ws.connect.raspberrypi.com. Va consentito anche il traffico verso i server STUN e TURN di Raspberry Pi, compresa la porta UDP 3478. L’elenco completo è nella pagina di troubleshooting di Connect. - La condivisione dello schermo risulta non disponibile: anche qui
rpi-connect doctorindica quale requisito manca, per esempio il compositor Wayland o i servizi di condivisione non attivi. - Alcune combinazioni di tasti non arrivano al Pi: il browser intercetta scorciatoie come Ctrl+C. Nella shell remota si copia con il menu del tasto destro o con Ctrl+Ins e si incolla con Shift+Ins.
Documentazione di riferimento
Pagine consultate il 30 settembre 2026. La pagina di Ubuntu Server riguarda Ubuntu, non Raspberry Pi OS. Da lì vengono la chiave Ed25519, il backup e il controllo della configurazione di sshd, l’esempio DebianBanner e il log del servizio.
- Raspberry Pi Documentation — Remote access
- Raspberry Pi Connect — Get started
- Raspberry Pi Connect — Access your device in Connect
- Raspberry Pi Connect — Enable remote shell at all times, Disconnect, Uninstall
- Raspberry Pi Connect — Troubleshooting
- Ubuntu Server documentation — OpenSSH server