Crea chiavi SSH

Questo documento descrive come creare una coppia di chiavi SSH per le istanze di macchine virtuali (VM) Compute Engine.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Creazione di una coppia di chiavi SSH

Se ti connetti alle VM utilizzando la console Google Cloud o Google Cloud CLI, Compute Engine crea chiavi SSH per tuo conto. Per saperne di più su come Compute Engine configura e archivia le chiavi, consulta Informazioni sulle connessioni SSH.

Se ti connetti alle VM utilizzando strumenti di terze parti o OpenSSH, devi aggiungere una chiave alla VM prima di poterti connettere. Se non hai una chiave SSH, devi crearne una. Le VM accettano i formati chiave elencati nel file sshd_config.

Linux e macOS

Sulle workstation Linux e macOS, utilizza l'utilità ssh-keygen per creare una nuova coppia di chiavi SSH. L'esempio seguente crea una coppia di chiave RSA.

Apri un terminale e usa il comando ssh-keygen con il flag -C per creare una nuova coppia di chiavi SSH.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME -b 2048

Sostituisci quanto segue:

  • KEY_FILENAME: il nome del file di chiavi SSH.

    Ad esempio, un nome file my-ssh-key genera un file di chiave privata denominato my-ssh-key e un file di chiave pubblica denominato my-ssh-key.pub.

  • USERNAME: il tuo nome utente sulla VM. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Per le VM Linux, il USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco nell'annuncio ad.example.com ha USERNAME pari a example\cloudysanfrancisco.

ssh-keygen salva il file della chiave privata in ~/.ssh/KEY_FILENAME e il file della chiave pubblica in ~/.ssh/KEY_FILENAME.pub.

Una chiave pubblica per l'utente cloudysanfrancisco è simile alla seguente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 o versioni successive

Sulle workstation con Windows 10 o versioni successive, utilizza l'utilità ssh-keygen per creare una nuova coppia di chiavi SSH. L'esempio seguente crea una coppia di chiave RSA.

Apri il prompt dei comandi e utilizza il comando ssh-keygen con il flag -C per creare una nuova coppia di chiavi SSH.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048

Sostituisci quanto segue:

  • WINDOWS_USER: il tuo nome utente sulla macchina Windows.

  • KEY_FILENAME: il nome del file di chiavi SSH.

    Ad esempio, un nome file my-ssh-key genera un file di chiave privata denominato my-ssh-key e un file di chiave pubblica denominato my-ssh-key.pub.

  • USERNAME: il tuo nome utente sulla VM. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Per le VM Linux, il USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco nell'annuncio ad.example.com ha USERNAME pari a example\cloudysanfrancisco.

ssh-keygen salva il file della chiave privata in C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME e il file della chiave pubblica in C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.

Una chiave pubblica per l'utente cloudysanfrancisco è simile alla seguente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 o versioni precedenti

Sulle workstation con Windows versione 8 o precedente, utilizza lo strumento PuTTYgen per creare una nuova coppia di chiavi SSH. L'esempio seguente crea una coppia di chiave RSA.

  1. Scarica puttygen.exe se non l'hai ancora fatto.

  2. Apri PuTTYgen.

  3. In Parametri, specifica quanto segue:

    • Tipo di chiave da generare: RSA
    • Numero di bit in una chiave generata: 2048 o più
  4. Fai clic su Genera e segui le istruzioni sullo schermo.

    Lo strumento visualizza il valore della chiave pubblica.

  5. Nella sezione Commento chiave, sostituisci il testo precompilato con il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Per le VM Linux, il commento chiave non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), il commento chiave deve essere anteposto al dominio AD, nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un commento chiave pari a example\cloudysanfrancisco.

  6. (Facoltativo) Inserisci una Passphrase della chiave per proteggere tramite password la chiave.

  7. Fai clic su Salva chiave privata per scegliere una posizione in cui salvare la chiave privata.

    PuTTYgen scrive la chiave privata in un file con estensione .ppk.

  8. Fai clic su Salva chiave pubblica per scegliere una posizione in cui salvare la chiave pubblica. Tieni aperta la finestra PuTTYgen.

  9. Copia il testo dal campo Chiave pubblica da incollare nel file OpenSSHauthorized_keys.

  10. Apri il file della chiave pubblica. La chiave pubblica ha un formato simile al seguente:

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Sostituisci l'intero contenuto del file della chiave pubblica con il valore copiato dal campo Chiave pubblica da incollare nel file OpenSSH Authorized_keys, in modo che il file della chiave pubblica corrisponda al seguente formato:

    KEY_VALUE USERNAME
    

Una chiave pubblica per l'utente cloudysanfrancisco è simile alla seguente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Che cosa succede dopo?