Come abilitare SSH su un Raspberry Pi

Su Raspberry Pi OS SSH è disattivato per impostazione predefinita. Per una scheda nuova, attiva Enable SSH in Raspberry Pi Imager sotto Customisation, Remote Access. Su un Pi già in funzione, esegui sudo raspi-config e scegli Interface Options, poi SSH. Senza schermo, crea un file vuoto chiamato ssh sulla partizione di boot e riavvia.

Aggiornata il .

Scheda SD nuova: usa Raspberry Pi Imager

È il metodo che Raspberry Pi consiglia per una configurazione headless, cioè senza schermo né tastiera. Prima di scrivere la scheda, imposta queste voci nelle opzioni di personalizzazione:

  • Hostname: il nome a cui ti collegherai, per esempio server dà server.local.
  • User: un nome utente e una password. In una configurazione headless sono il tuo login.
  • Wi-Fi: nome e password della rete, a meno che il Pi sia su Ethernet. Senza questo un Pi headless non entra mai nella rete.
  • Remote Access: attiva Enable SSH, poi scegli l'autenticazione con password o con chiave pubblica.

Scegli la chiave pubblica se ne hai già una: incolla il contenuto del tuo file .pub, mai la chiave privata. Se non ne hai, generane una prima. I nomi dei menu cambiano tra le versioni di Imager: in Imager 1.8 le stesse impostazioni sono in Edit Settings, con SSH nella scheda Services.

Raspberry Pi suggerisce Raspberry Pi OS Lite per un dispositivo headless, perché non ha un desktop da far girare.

Pi che puoi già usare: raspi-config

sudo raspi-config

Scegli Interface Options, poi SSH, rispondi Yes, poi Finish. Per farlo senza il menu, per esempio in uno script:

sudo raspi-config nonint do_ssh 0

Qui 0 significa attivare e 1 disattivare. Sul desktop lo stesso interruttore è in Preferences, Control Centre, Interfaces. In Bookworm e nelle versioni precedenti lo strumento si chiama Raspberry Pi Configuration.

Scheda già scritta, senza schermo: il file ssh

Metti la scheda in un altro computer, oppure usa una shell sul Pi, e crea un file vuoto chiamato ssh sulla partizione di boot. Sul Pi stesso quella partizione è montata in /boot/firmware:

sudo touch /boot/firmware/ssh

Su un altro computer appare come una piccola unità: metti il file al livello più alto, senza estensione. Poi riavvia il Pi.

Questo accende solo il server. Non crea un utente. Dall'aprile 2022 le immagini non hanno più l'utente pi predefinito, quindi una scheda scritta senza le impostazioni di Imager ha ancora bisogno di un account prima di poter entrare. La soluzione più semplice è riscrivere la scheda con Imager e impostare lì l'utente.

Trova il Pi e collegati

Dagli un minuto o due al primo avvio. Poi prova il nome:

ping raspberrypi.local
ssh user@raspberrypi.local

Usa il tuo hostname e il tuo nome utente se li hai impostati. Il nome .local richiede mDNS sul computer da cui ti colleghi. Se non si risolve, usa invece l'indirizzo IP. Per trovarlo:

  • Sul Pi, se hai uno schermo, esegui hostname -I.
  • Guarda nell'elenco dei dispositivi connessi del tuo router.
  • Scansiona la tua rete, adattando l'intervallo alla tua:
sudo nmap -sn 192.168.1.0/24

Se il login si ferma a Connection refused, il server non è ancora attivo: il primo avvio potrebbe ancora generare le chiavi host, oppure l'impostazione non ha avuto effetto. Se il nome non si risolve, vedi Could not resolve hostname.

Dopo il primo login

Installa la tua chiave se sei partito con una password, poi disattiva l'accesso con password, soprattutto se il Pi sarà raggiungibile da fuori della tua rete domestica.

Quando le schede diventano tante, vedi come gestire molti server SSH con gruppi e tag.

Domande

Qual è il nome utente e la password predefiniti di un Raspberry Pi?

Non c'è una password predefinita su cui contare. Da aprile 2022 le immagini di Raspberry Pi OS non hanno più l'utente pi predefinito: l'utente lo crei in Imager o al primo avvio.

Fonti

Altro in SSH su ogni sistema

Tutte le guide