Creare 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 già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Creazione di una coppia di chiavi SSH

Se ti connetti alle VM tramite la console Google Cloud o Google Cloud CLI, Compute Engine crea chiavi SSH per tuo conto. Per per ulteriori informazioni 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 uno. Le VM accettano i formati chiave elencati in 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 chiavi RSA.

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

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

Sostituisci quanto segue:

  • KEY_FILENAME: il nome del file della chiave 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, USERNAME non può essere root, a meno che tu non configuri la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connettersi alle VM come utente root.

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

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

Una chiave pubblica per l'utente cloudysanfrancisco è simile al seguenti:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 o versioni successive

Sulle workstation con Windows 10 o versioni successive, utilizza 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

Sostituisci quanto segue:

  • WINDOWS_USER: il tuo nome utente sul computer Windows.

  • KEY_FILENAME: il nome del file di chiave 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, USERNAME non può essere root, a meno che tu non configuri la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connettersi alle VM come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere premesso il dominio AD, nel formato diDOMAIN\. Ad esempio, l'utente cloudysanfrancisco nell'annuncio ad.example.com ha un USERNAME di 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 8 o versioni precedenti, utilizza lo strumento PuTTYgen per creare una nuova coppia di chiavi SSH. L'esempio seguente crea una coppia di chiavi RSA.

  1. Scarica puttygen.exe se non l'hai già fatto.

  2. Apri PuTTYgen.

  3. In Parametri, specifica quanto segue:

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

    Lo strumento mostra il valore della chiave pubblica.

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

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

    Per le VM Windows che utilizzano Active Directory (AD), al commento della chiave deve essere anteposto il dominio AD, nel formato diDOMAIN\. Ad esempio, l'utente cloudysanfrancisco nell'annuncio ad.example.com ha un commento chiave di example\cloudysanfrancisco.

  6. (Facoltativo) Inserisci una passphrase della chiave per proteggere il token tramite password.

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

    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. a. Tieni aperta la finestra di PuTTYgen.

  9. Copia il testo dal campo Public key for pasting into OpenSSH authorized_keys file (Chiave pubblica da incollare nel file OpenSSH authorized_keys).

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

    ---- 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 copiata da Public key for pasted into OpenSSH authorized_keys (Chiave pubblica da incollare in OpenSSH Authorized_keys) file, in modo che il file della chiave pubblica abbia il seguente formato:

    KEY_VALUE USERNAME
    

Una chiave pubblica per l'utente cloudysanfrancisco è simile al seguenti:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Passaggi successivi