Da quasi un anno ho una Raspberry Pi e ho più volte questo trucchetto, solo che mi sono reso conto di non averlo ancora mai condiviso.
Per ragioni di sicurezza, ho deciso di disabilitare l’autenticazione tramite password per quando mi connetto tramite Internet, ma di lasciarla per quando mi connetto dalla stessa rete locale della Raspberry.
Ci sono diversi metodi per implementare questa cosa, tutti basati sull’istruzione Match
che, citando le manpages, introduce un blocco condizionale.
Le condizioni che può verificare riguardano utenti, gruppi, host, indirizzi e la porta locale.
In particolare io ho scelto di fare una distinzione in base a quest’ultima: una strategia spesso suggerita per aumentare la sicurezza di SSH è quella di cambiare porta e, per esempio, metterlo in ascolto sulla porta 22022. Io ho quindi deciso di ascoltare sulla porta 22 per la LAN e sulla porta 22022 per le sessioni remote e di disabilitare l’autenticazione tramite password per queste ultime.
Il procedimento è molto facile. Serve solo modificare il file /etc/ssh/sshd_config
. Per prima cosa bisogna esplicitare entrambe le porte su cui ascoltare:
Port 22 Port 22022
Dopodiché bisogna aggiungere la parte di matching solo per la porta secondaria:
Match LocalPort 22022 PasswordAuthentication no
In alternativa si potrebbe disabilitare l’autenticazione tramite password sempre e riabilitarla solo se l’indirizzo del peer appartiene alla classe della rete LAN.