Introduzione alle chiavi SSH
Quando si crea un server, è necessario selezionare una chiave SSH esistente o generare una chiave SSH. Le chiavi SSH vengono utilizzate dai server per identificare un utente o un dispositivo tramite la crittografia a chiave pubblica. Le chiavi
SSH sono costituite da una combinazione alfanumerica e sono uniche per l'utente o il dispositivo a cui sono assegnate. È possibile creare una chiave SSH nella console. È possibile aggiungere, modificare o eliminare chiavi SSH utilizzando la
console IBM Cloud®, la CLI e l'API. Aggiungendo una chiave SSH a un server, è possibile accedere al server con la corrispondente chiave SSH privata invece di una password. È possibile aggiungere chiavi SSH a un server solo al momento della creazione
iniziale del server. Dopo la creazione di un server Linux®, è possibile modificare le chiavi direttamente nella directory ~/.ssh/
del server.
La creazione di un server con un'opzione password per la connessione non è supportata. È necessario specificare una chiave SSH quando si esegue il provisioning del server e utilizzare la chiave privata per connettersi al server.
Tipi di chiave SSH supportati: RSA e ED25519 nella console
IBM Cloud® Virtual Private Cloud supporta due tipi differenti di chiavi SSH pubbliche.
- RSA
- ED25519
In IBM Cloud VPC, RSA è il tipo di chiave SSH predefinito. È possibile selezionare di cambiare il tipo di chiave in ED25519. Il tipo di chiave SSH ED25519 consente di ottenere un vantaggio leggermente superiore in termini di prestazioni, poiché può fornire lo stesso livello di sicurezza del tipo di chiave SSH RSA con una chiave più piccola. È possibile creare istanze di server virtuale e server bare metal con un mix di chiavi RSA e ED25519 SSH.
Nella console IBM Cloud console, è possibile andare su Menu di navigazione icona > Infrastruttura
> Calcolo > Chiavi SSH per gestire le chiavi SSH. Da qui è possibile creare, ridenominare o eliminare le chiavi. Se si sceglie di creare una chiave, tale chiave deve essere
un tipo di chiave SSH RSA. È possibile caricare un tipo di chiave SSH ED25519, ma non è possibile generarne una all'interno del VPC.
È possibile generare coppie di chiavi RSA nella console. È possibile caricare chiavi RSA e ED25519 SSH preesistenti. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 non può essere utilizzato con immagini Windows o VMware.
È possibile generare coppie di chiavi RSA nella console. È possibile caricare chiavi RSA e ED25519 SSH preesistenti.
Tipi di chiave SSH: RSA e ED25519 in CLI
IBM Cloud® Virtual Private Cloud supporta due tipi differenti di chiavi SSH pubbliche.
- RSA
- ED25519
In IBM Cloud VPC, RSA è il tipo di chiave SSH predefinito. È possibile selezionare di cambiare il tipo di chiave in ED25519. Il tipo di chiave SSH ED25519 consente di ottenere un vantaggio leggermente superiore in termini di prestazioni, poiché può fornire lo stesso livello di sicurezza del tipo di chiave SSH RSA con una chiave più piccola. È possibile creare istanze di server virtuale e server bare metal con un mix di chiavi RSA e ED25519 SSH.
- Per le immagini Windows o VMware, devi utilizzare il tipo di chiave SSH RSA. Il tipo di chiave SSH ED25519 non può essere utilizzato con immagini Windows o VMware.
- Per le immagini Linux, il tipo di chiave SSH ED25519 può essere usato solo se il server SSH del sistema operativo supporta quel tipo di chiave.
Nella CLI, puoi specificare il tipo di chiave utilizzando l'opzione --key-type
. Non puoi creare chiavi SSH nella CLI, puoi importare solo una chiave SSH esistente. Il valore predefinito --key-type
è RSA. Se si cerca
di importare una chiave SSH ED25519 e non si specifica il tipo di chiave ed25519
, il processo fallisce.
--key-type ed25519
Tipi di chiave SSH: RSA e ED25519 nell'API
IBM Cloud® Virtual Private Cloud supporta due tipi differenti di chiavi SSH pubbliche.
- RSA
- ED25519
In IBM Cloud VPC, RSA è il tipo di chiave SSH predefinito. È possibile selezionare di cambiare il tipo di chiave in ED25519. Il tipo di chiave SSH ED25519 consente di ottenere un vantaggio leggermente superiore in termini di prestazioni, poiché può fornire lo stesso livello di sicurezza del tipo di chiave SSH RSA con una chiave più piccola. È possibile creare istanze di server virtuale e server bare metal con un mix di chiavi RSA e ED25519 SSH.
- Per le immagini Windows o VMware, devi utilizzare il tipo di chiave SSH RSA. Il tipo di chiave SSH ED25519 non può essere utilizzato con immagini Windows o VMware.
- Per le immagini Linux, il tipo di chiave SSH ED25519 può essere usato solo se il server SSH del sistema operativo supporta quel tipo di chiave.
Non è possibile creare chiavi SSH all'interno dell'API, è possibile importare solo una chiave SSH esistente. È possibile generare una nuova coppia di chiavi RSA SSH all'interno della console. Hai la possibilità di creare una chiave SSH per copiare il frammento di codice API per tale chiave.
Nell'API, puoi specificare il tipo di chiave utilizzando la variabile type
. Il valore predefinito type
è RSA. Se si cerca di importare una chiave SSH ED25519 e non si specifica il tipo di chiave ed25519
,
il processo fallisce.
"type":"ed25519"
Tipi di chiavi SSH: RSA e ED25519 nel sistema Terraform
IBM Cloud® Virtual Private Cloud supporta due tipi differenti di chiavi SSH pubbliche.
- RSA
- ED25519
In IBM Cloud VPC, RSA è il tipo di chiave SSH predefinito. È possibile selezionare di cambiare il tipo di chiave in ED25519. Il tipo di chiave SSH ED25519 consente di ottenere un vantaggio leggermente superiore in termini di prestazioni, poiché può fornire lo stesso livello di sicurezza del tipo di chiave SSH RSA con una chiave più piccola. È possibile creare istanze di server virtuale e server bare metal con un mix di chiavi RSA e ED25519 SSH.
- Per le immagini Windows o VMware, devi utilizzare il tipo di chiave SSH RSA. Il tipo di chiave SSH ED25519 non può essere utilizzato con immagini Windows o VMware.
- Per le immagini Linux, il tipo di chiave SSH ED25519 può essere usato solo se il server SSH del sistema operativo supporta quel tipo di chiave.
Non puoi creare chiavi SSH all'interno di Terraform, puoi importare solo una chiave SSH esistente. È possibile generare una nuova coppia di chiavi RSA SSH all'interno della console.
In Terraform, puoi specificare quale tipo di chiave utilizzando la variabile type
. Il tipo predefinito è rsa
. Se si cerca di importare la chiave SSH ED25519 e non si specifica il tipo di chiave ed25519
,
il processo fallisce.
type = "ed25519"
Prima di iniziare
Puoi generare una chiave SSH in IBM Cloud® Virtual Private Cloud quando crei la chiave SSH nella pagina Chiavi SSH per VPC. Tuttavia, se si sceglie di importare un file di chiavi SSH esistente, tenere presenti le seguenti limitazioni.
- La chiave SSH deve essere di tipo RSA o ED25519 con una dimensione di 2048 o 4096 bit.
- Se il sistema Mac genera una dimensione chiave di 3072 bit (per impostazione predefinita), eseguire uno dei seguenti comandi per assicurarsi che la chiave generata sia una dimensione supportata.
- Per il tipo di chiave SSH RSA, immettere
ssh-keygen -t rsa -b 4096 -C "user_ID"
- Per il tipo di chiave SSH ED25519, emettere:
ssh-keygen -t ed25519 -b 4096 -C "user_ID"
- Per il tipo di chiave SSH RSA, immettere
- Le chiavi SSH vengono generate come coppie di chiavi; una è una chiave pubblica e l'altra una chiave privata. Seleziona la chiave pubblica quando importi una chiave SSH nel VPC. La chiave privata corrispondente rimane sulla workstation locale e non viene importata.
- Quando si copia una chiave SSH da un terminale per aggiungere la chiave pubblica al VPC, a volte vengono introdotte interruzioni di riga extra che causano un errore di analisi. Per evitare questo problema, incollate la vostra chiave pubblica in un editor di testo e rimuovete le interruzioni di riga. Quindi, copiare la chiave pubblica dall'editor di testo e incollarla nell'interfaccia utente, nella CLI o nell'API di IBM Cloud VPC.
Individuazione di una chiave SSH esistente
Se si sceglie di importare un file di chiavi SSH esistente, ricercare un file denominato id_rsa.pub
o id_ed25519.pub
che contiene la chiave pubblica. Il file potrebbe trovarsi in una directory .ssh
sotto
la propria home directory, ad esempio /Users/<USERNAME>/.ssh/id_rsa.pub
. Il contenuto del file della chiave pubblica per una chiave SSH RSA inizia tipicamente con ssh-rsa
, mentre il contenuto del file della
chiave pubblica per una chiave SSH ED25519 inizia tipicamente con ssh-ed25519
. L'estensione del file .pub
indica quale file contiene la chiave pubblica.
Generazione di una chiave SSH esterna
Se vuoi generare una chiave SSH all'esterno di IBM Cloud VPC, esegui il comando ssh-keygen
e segui le istruzioni. Ad esempio, è possibile generare una chiave RSA SSH sul sistema Linux o Mac eseguendo il comando ssh-keygen -t rsa -C "user_ID"
.
Premere Invio per accettare la posizione predefinita del file. Il comando genera due file. La chiave pubblica generata si trova nel file <your key>.pub
. Per Windows®, è possibile utilizzare PuTTYgen per generare una chiave SSH.
Se si utilizza OpenSSH versione 7.8 o superiore e si prevede di accedere a un server Windows, utilizzare il seguente comando per generare la chiave in formato PEM. ssh-keygen -m PEM -t rsa -C "user_ID"
Individuazione delle chiavi SSH esistenti nella console
- Nella console IBM Cloud console, andare su Menu di navigazione icona
> Infrastruttura
> Calcolo > Chiavi SSH.
- Vengono visualizzate tutte le chiavi SSH esistenti.
Elenco delle chiavi SSH esistenti dalla CLI
Per visualizzare un elenco di tutte le chiavi SSH utilizzando la CLI, utilizza il comando ibmcloud is keys. Specificare la variabile RESOURCE_GROUP_ID
o RESOURCE_GROUP_NAME
. Se si desidera elencare
tutti i gruppi di risorse, specificare --all-resource-groups
.
ibmcloud is keys [--all-resource-groups]
Per ulteriori informazioni, vedere la sezione ibmcloud is keys nel riferimento della VPC CLI.
Elencare le chiavi SSH esistenti con l'API
Per visualizzare tutte le chiavi SSH utilizzando l'API, utilizza List all keys.
curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"
Elencare le tue chiavi SSH esistenti utilizzando Terraform
Per elencare tutte le chiavi SSH utilizzando Terraform, utilizza ibm_is_ssh_keys.
data "ibm_is_ssh_keys" keys {}
Creare la chiave SSH nella console
Utilizza la seguente procedura per creare una chiave SSH. È possibile creare solo una chiave SSH RSA. Per le chiavi SSH ED25519, è necessario caricare la chiave SSH.
-
Nella console IBM Cloud console, andare su Menu di navigazione icona
> Infrastruttura
> Calcolo > Chiavi SSH.
-
Fare clic su Crea e inserire le informazioni riportate nella Tabella 1.
Creazione di una chiave SSH per le selezioni VPC Campo Valore Posizione Le sedi sono composte da regioni (aree geografiche specifiche) e zone (centri dati a tolleranza di errore all'interno di una regione). Selezionare la posizione in cui si desidera creare la chiave SSH. Nome È necessario un nome per la chiave SSH. Gruppo di risorse Selezionare un gruppo di risorse per la chiave SSH. Tag È possibile assegnare un tag utente alla chiave SSH, in modo da poter filtrare facilmente un elenco di chiavi SSH. Per ulteriori informazioni, vedi Gestione delle tag. Tag di gestione accesso Le tag di gestione dell'accesso consentono di applicare politiche di accesso flessibili a risorse specifiche. Per ulteriori informazioni, vedere l'esercitazione Controllo dell'accesso alle risorse tramite tag dell'interfaccia utente. Tipo di chiave SSH Il valore predefinito è rsa
. È possibile generare nuove coppie di chiavi RSA nella console. È possibile caricare chiavi RSA e ED25519 SSH preesistenti. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 non può essere utilizzato con immagini Windows o VMware. -
Selezionare Genera una coppia di chiavi per me.
-
Facoltativamente, fai clic su Get sample API call per ottenere un codice API con tutte le tue informazioni sulla chiave SSH che puoi copiare.
-
Fai clic su Crea.
La tua chiave SSH viene ora visualizzata nell'elenco di chiavi SSH nella IU.
Importare una chiave SSH nella console
È possibile importare una chiave SSH in due modi. È possibile caricare una chiave pubblica da un file locale. Oppure puoi incollare la tua chiave pubblica nell'IU.
Utilizza la seguente procedura per importare una chiave SSH da un file locale.
-
Nella console IBM Cloud console, andare su Menu di navigazione icona
> Infrastruttura
> Calcolo > Chiavi SSH.
-
Fare clic su Crea e immettere le informazioni riportate nella tabella 1.
Creazione di una chiave SSH per le selezioni VPC Campo Valore Le sedi sono composte da regioni (aree geografiche specifiche) e zone (data center con tolleranza ai guasti all'interno di una regione). Selezionare la posizione in cui si desidera creare la chiave SSH. Nome È richiesto un nome per la tua chiave SSH. Gruppo di risorse Selezionare un gruppo di risorse per la chiave SSH. Tag Puoi assegnare un tag utente alla chiave SSH in modo da poter filtrare facilmente un elenco di chiavi SSH. Per ulteriori informazioni, vedi Gestione delle tag. I tag di gestione degli accessi consentono di applicare criteri di accesso flessibili a risorse specifiche. Per ulteriori informazioni, vedi l'esercitazione dell'IU Controllo dell'accesso alle risorse utilizzando le tag. -
Selezionare Fornisci chiave pubblica esistente.
-
Fare clic su Carica chiave pubblica.
-
Selezionare il file della chiave pubblica e fare clic su Apri. L'estensione file,
.pub
, generalmente indica quale file contiene la chiave pubblica. -
Facoltativamente, fai clic su Get sample API call per ottenere un codice API con tutte le tue informazioni sulla chiave SSH che puoi copiare.
-
Fai clic su Crea.
Utilizza la seguente procedura per importare una chiave SSH incollando il materiale della chiave pubblica nell'IU.
Se si copia una chiave SSH da un terminale per aggiungerla al VPC, a volte vengono introdotte interruzioni di riga extra che causano un errore di analisi. Per evitare questo problema, incolla prima la tua chiave SSH in un editor di testo e rimuovi le eventuali interruzioni di riga aggiuntive. Copia quindi la chiave SSH dall'editor di testo e incollala nell'API, nella CLI o nell'IU VPC.
La tua chiave SSH importata viene ora visualizzata nell'elenco di chiavi SSH nell'IU.
Importazione della chiave SSH utilizzando la CLI
Per importare una chiave SSH utilizzando la CLI, utilizza il comando ibmcloud is key - create. È necessario specificare anche un KEY_NAME
e un KEY
. Il file di chiavi SSH è id_rsa.pub
o
id_ed25519.pub
a seconda del tipo di chiave che si sta importando. Facoltativamente, è possibile specificare la risorsa utilizzando la variabile RESOURCE_GROUP_ID
o RESOURCE_GROUP_NAME
. Per ulteriori
informazioni, consultare la sezione ibmcloud is key-create nella guida di riferimento della VPC CLI.
ibmcloud is key-create KEY_NAME (KEY | @KEY_FILE) [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME]
Importazione della tua chiave SSH utilizzando l'API
Per importare una chiave SSH utilizzando l'API, utilizza Crea una chiave. Non puoi creare una chiave SSH utilizzando l'API. Tuttavia, è possibile creare una chiave SSH nella console e, dall'interfaccia utente, generare lo snippet di codice API necessario che include la nuova chiave SSH. Se si utilizza l'interfaccia utente, assicurarsi di salvare la chiave SSH creata nella console prima di generare lo snippet di codice API.
Per la proprietà name
, specifica il nome della chiave SSH. Per la proprietà public_key
, immettere le informazioni sulla chiave pubblica. Per la proprietà type
, specificare rsa
o ed25519
per il tipo di chiave SSH.
curl -X POST "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token" -d '{
"name":"my-key-1",
"public_key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En",
"type":"rsa"
}'
Importazione della chiave SSH utilizzando Terraform
Creare una risorsa ssh - key o utilizzare una ssh - key esistente facendo riferimento all'origine dati ssh - key. Per ulteriori informazioni, consulta la documentazione Terraform in ibm_is_ssh_keys
Creare una risorsa ssh - key o utilizzare una ssh - key esistente facendo riferimento all'origine dati ssh - key. Per la proprietà name
, specifica il nome della chiave SSH. Per la proprietà public_key
, immettere le
informazioni sulla chiave pubblica. Per la proprietà type
, specificare rsa
o ed25519
per il tipo di chiave SSH. Il valore predefinito è rsa
. È necessario specificare ed25519
per importare una chiave SSH ed25519
.
resource "ibm_is_ssh_key" "example_sshkey" {
name = "example-sshkey"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
type = "rsa"
}
Passi successivi
Dopo aver individuato o generato una chiave SSH, è il momento di pianificare e creare un server.
Server virtuali
- Pianificazione per server virtuali
- Creazione di un server virtuale nella console
- Creazione di un server virtuale utilizzando la CLI
Bare metal server
Risoluzione dei problemi relativi alle chiavi SSH