Un ulteriore modo per rafforzare la sicurezza di un sistema Linux contro accessi non autorizzati è l’utilizzo della chiave pubblica (public key) durante la fase di login.

Vantaggi
- Elevato grado di sicurezza nel processo di autenticazione.
- Solo gli utenti con la chiave corretta possono autenticarsi nel sistema.
- Ogni chiave può essere protetta da password (ulteriore protezione).
Svantaggi
- Senza la giusta chiave non c’è modo di autenticarsi e quindi di accedere al sistema.
- La gestione delle chiavi può risultare laboriosa.
PROCEDURA
- generare la coppia di chiavi pubblica e privata.
ssh-keygen -t rsa
La chiave privata viene salvata nel file id_rsa.
La chiave pubblica viene salvata nel file id_rsa.pub.
- creare la directory nascosta .ssh nella home user.
mkdir ~/.ssh
- copiare la chiave pubblica nel file authorized_keys.
cat id.rsa.pub > ~/.ssh/authorized_keys
- impostare i permessi sul file per evitare che altri utenti possano leggere i dati della chiave.
chmod go-w ~/
chmod 700 ~/.ssh
chmod go-rwx ~/.ssh
- editare il file sshd_conf (deve essere effettuato come root).
su -
vi /ets/ssh/sshd_conf
- identificare e modificare i parametri come indicato.
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
- riavviare il servizio ssh per attivare la nuova configurazione
service sshd restart
Una volta effettuato il restart del servizio ssh, l’unico modo per effettuare un login remoto è tramite l’utilizzo delle chiavi generate.
Per generare la chiave pubblica e privata è possibile utilizzare anche altri tools come ad esempio puttygen, membro della famiglia puTTY e soggetto a licenza MIT compatibile con la GNU GPL.
- p@olo
