Cosa sono le Chiavi SSH e come crearle su Linux, Windows e Mac OS

Se ti sei mai chiesto come mantenere le tue connessioni remote sicure, probabilmente hai sentito parlare delle chiavi SSH. Ma cosa sono esattamente? In questo articolo, spiegherò in modo semplice cosa sono le chiavi SSH, a cosa servono e come puoi crearle sui principali sistemi operativi: Linux, Windows e Mac OS.

Cosa sono le Chiavi SSH?

Le chiavi SSH (Secure Shell) sono un metodo sicuro per autenticarsi su un server remoto. In parole povere, sono come una chiave digitale che ti permette di accedere a un server senza dover inserire una password ogni volta. Questo non solo aumenta la sicurezza, ma rende anche l’accesso più comodo e veloce.

Le chiavi SSH funzionano grazie a un sistema di crittografia a coppia: una chiave pubblica e una chiave privata. La chiave pubblica viene salvata sul server remoto, mentre la chiave privata rimane sul tuo computer. Quando tenti di accedere al server, il server utilizza la chiave pubblica per verificare se la chiave privata corrisponde. Se sì, l’accesso è consentito.

Vantaggi delle Chiavi SSH

  1. Sicurezza Migliorata: Le chiavi SSH sono molto più sicure rispetto alle password tradizionali. Una password può essere indovinata o rubata, ma una chiave SSH è praticamente impossibile da decifrare.
  2. Comodità: Dopo aver configurato le chiavi SSH, non dovrai più inserire una password ogni volta che ti connetti al server.
  3. Automazione: Le chiavi SSH permettono di automatizzare script e processi che richiedono l’accesso a server remoti, senza dover inserire password manualmente.

Come creare le Chiavi SSH

Ora che hai capito cosa sono e perché sono utili, vediamo come puoi creare le chiavi SSH sui vari sistemi operativi.

1. Creare chiavi SSH su Linux

La maggior parte delle distribuzioni Linux ha già installato l’utility ssh-keygen, che è lo strumento che useremo per creare le chiavi SSH.

  1. Apri il terminale.
  2. Esegui il comando seguente:
   ssh-keygen -t rsa -b 4096 -C "tuo_email@example.com"
  • -t rsa specifica che vogliamo utilizzare il tipo di crittografia RSA.
  • -b 4096 definisce la lunghezza della chiave (4096 bit è considerata molto sicura).
  • -C “tuo_email@example.com” aggiunge un commento alla chiave, di solito l’email, per identificarla.
  1. Segui le istruzioni: Ti verrà chiesto di specificare dove salvare la chiave (di solito va bene il percorso predefinito) e se vuoi impostare una passphrase per la chiave privata.
  2. La tua chiave SSH sarà creata: Troverai la chiave privata nel file ~/.ssh/id_rsa e la chiave pubblica nel file ~/.ssh/id_rsa.pub.

2. Creare Chiavi SSH su Windows

Per Windows, il processo è leggermente diverso poiché avrai bisogno di un programma chiamato PuTTY o, in alternativa, di utilizzare il terminale PowerShell o Git Bash.

Metodo 1: Utilizzare PuTTYgen

  1. Scarica PuTTY e PuTTYgen dal sito ufficiale: PuTTY Download Page.
  2. Apri PuTTYgen e seleziona RSA come tipo di chiave, poi imposta 4096 come lunghezza della chiave.
  3. Clicca su “Generate” e muovi il mouse nella finestra per generare casualità.
  4. Salva la chiave privata cliccando su “Save private key” e la chiave pubblica cliccando su “Save public key”.
  5. Puoi anche copiare direttamente la chiave pubblica dalla finestra di PuTTYgen.

Metodo 2: Utilizzare PowerShell

  1. Apri PowerShell.
  2. Esegui il seguente comando:
   ssh-keygen -t rsa -b 4096 -C "tuo_email@example.com"

Segui le stesse istruzioni del metodo Linux per completare il processo.

3. Creare Chiavi SSH su Mac OS

Mac OS, come Linux, ha già l’utility ssh-keygen installata.

  1. Apri il terminale.
  2. Esegui il comando seguente:
   ssh-keygen -t rsa -b 4096 -C "tuo_email@example.com"

Segui le istruzioni sullo schermo, come su Linux.

  1. Troverai le chiavi create nella directory ~/.ssh/.

Aggiungere la Chiave Pubblica al Server

Una volta create le chiavi, il passo successivo è aggiungere la chiave pubblica al server a cui vuoi connetterti.

Copia la chiave pubblica:

  • Su Linux e Mac, puoi usare il comando:
    bash cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
  • Su Windows, puoi copiare manualmente la chiave pubblica e incollarla nel file authorized_keys sul server remoto.

Verifica la Connessione: Prova a connetterti al server. Se tutto è configurato correttamente, non ti verrà chiesta la password.

Conclusione

Le chiavi SSH sono uno strumento potente per chiunque lavori regolarmente con server remoti. Non solo migliorano la sicurezza, ma semplificano notevolmente la gestione delle connessioni. Spero che questa guida ti abbia chiarito cosa sono le chiavi SSH e come puoi crearle e utilizzarle sui vari sistemi operativi.

Condividilo!

Informazioni su Francesco Menzera

Francesco Menzera, nato nel 1979 a Taranto, è Senior IT Specialist presso Planetek Italia e Networker. Ex volontario della Marina Militare Italiana, ha fondato l'Associazione Criptaliae Events nel 2023, pubblicato un singolo di musica elettronica ed un libro sull’IA Microsoft Copilot nel 2024. Ama la compagnia, la buona cucina, il buon vino e... imparare sempre cose nuove!

Sito web Facebook Twitter Instagram LinkedIn YouTube