Questo documento descrive come creare una coppia di chiavi SSH per le istanze di macchine virtuali (VM) Compute Engine per connetterti in modo sicuro alle istanze di VM Compute Engine.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
Console
Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.
Crea una coppia di chiavi SSH
Se ti connetti alle VM utilizzando la console Google Cloud o Google Cloud CLI, Compute Engine crea le 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 delle chiavi 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 chiavi RSA.
Apri un terminale e utilizza 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
Sostituisci quanto segue:
KEY_FILENAME: il nome del file della chiave SSH.Ad esempio, un nome file
my-ssh-keygenera un file della chiave privata denominatomy-ssh-keye un file della chiave pubblica denominatomy-ssh-key.pub.USERNAME: il tuo nome utente sulla VM. Ad esempio,cloudysanfranciscoocloudysanfrancisco_gmail_com.Per le VM Linux,
USERNAMEnon può essereroot, a meno che non configuri la VM in modo da consentire l'accesso root. Per saperne di più, consulta Connessione alle VM come utente root.Per le VM Windows che utilizzano Active Directory (AD), devi anteporre al nome utente il dominio AD nel formato
DOMAIN\. Ad esempio, il valore diUSERNAMEper l'utentecloudysanfranciscoall'interno del dominio ADad.example.comè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 chiavi 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 della chiave SSH.Ad esempio, un nome file
my-ssh-keygenera un file della chiave privata denominatomy-ssh-keye un file della chiave pubblica denominatomy-ssh-key.pub.USERNAME: il tuo nome utente sulla VM. Ad esempio,cloudysanfranciscoocloudysanfrancisco_gmail_com.Per le VM Linux,
USERNAMEnon può essereroot, a meno che non configuri la VM in modo da consentire l'accesso root. Per saperne di più, consulta Connessione alle VM come utente root.Per le VM Windows che utilizzano Active Directory (AD), devi anteporre al nome utente il dominio AD nel formato
DOMAIN\. Ad esempio, il valore diUSERNAMEper l'utentecloudysanfranciscoall'interno del dominio ADad.example.comè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.
Se non lo hai già fatto, scarica
puttygen.exe.Apri PuTTYgen.
In Parameters (Parametri), specifica quanto segue:
- Type of key to generate (Tipo di chiave da generare):
RSA - Number of bits in a generated key (Numero di bit in una chiave generata): almeno
2048
- Type of key to generate (Tipo di chiave da generare):
Fai clic su Generate (Genera) e segui le istruzioni sullo schermo.
Lo strumento mostra il valore della chiave pubblica.
Nella sezione Key comment (Commento sulla chiave), sostituisci il testo precompilato con il tuo nome utente. Ad esempio,
cloudysanfranciscoocloudysanfrancisco_gmail_com.Per le VM Linux, Key comment (Commento sulla chiave) non può essere
root, a meno che non configuri la VM in modo da consentire l'accesso come utente root. Per saperne di più, consulta Connessione alle VM come utente root.Per le VM Windows che utilizzano Active Directory (AD), devi anteporre al valore in Key comment (Commento sulla chiave) il dominio AD nel formato
DOMAIN\. Ad esempio, per l'utentecloudysanfrancisconell'ADad.example.comil valore di Key comment (Commento sulla chiave) èexample\cloudysanfrancisco.(Facoltativo) Inserisci una passphrase della chiave in Key passphrase (Passphrase della chiave) per proteggere la chiave con una password.
Fai clic su Save private key (Salva chiave privata) per scegliere una posizione in cui salvare la chiave privata.
PuTTYgen scrive la chiave privata in un file con estensione
.ppk.Fai clic su Save public key (Salva chiave pubblica) per scegliere una posizione in cui salvare la chiave pubblica. Tieni aperta la finestra di PuTTYgen.
Copia il testo dal campo Public key for pasting into OpenSSH authorized_keys file (Chiave pubblica da incollare nel file OpenSSH authorized_keys).
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 ----
Sostituisci l'intero contenuto del file della chiave pubblica con il valore copiato dal campo Public key for pasting into OpenSSH authorized_keys file (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
Passaggi successivi
- Scopri come aggiungere chiavi SSH alle VM
- Scopri come funzionano le connessioni SSH su Compute Engine