Gestione delle chiavi SSH
Per accedere alle istanze IBM Cloud® Virtual Servers for Virtual Private Cloud, devi avere una chiave SSH disponibile per l'utilizzo. È possibile creare, aggiornare ed eliminare le chiavi SSH nella console di IBM Cloud, tramite CLI e tramite API.
La gestione delle chiavi utilizzando la console IBM Cloud o la CLI non ha effetto sulle chiavi nelle istanze che sono state già create. (Per un'istanza Linux esistente, puoi modificare le chiavi direttamente nella directory ~/.ssh/ dell'istanza.)
IBM Cloud® Virtual Private Cloud supporta due tipi differenti di chiavi SSH pubbliche.
- RSA
- Ed25519
È possibile creare nuove coppie di chiavi RSA utilizzando l'interfaccia utente. È possibile caricare chiavi SSH RSA e Ed25519 già esistenti. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 non può essere utilizzato con immagini Windows o VMware.
Prima di iniziare
Per creare un'istanza del server virtuale, devi creare o caricare una chiave SSH e averla disponibile in modo da poterti connettere alla tua istanza dopo che ne è stato eseguito il provisioning.
Gestione delle chiavi SSH con la console IBM Cloud
Quando esegui il provisioning di un server virtuale, puoi creare una nuova chiave SSH, selezionarla da un elenco disponibile di chiavi SSH esistenti o caricarne una nuova.
- In IBM Cloud console, vai su Menu di navigazione icon
> Infrastrutture
> Calcolo > Chiavi SSH. Vengono visualizzate tutte le chiavi SSH esistenti.
- Nella scheda Chiavi SSH per VPC, fare clic sull'icona Azioni
per una chiave SSH e selezionare una delle opzioni disponibili.
Azione Descrizione Rinomina Dopo aver aggiornato una chiave SSH esistente, la chiave viene immediatamente rinominata. Elimina Una volta rimossa una chiave SSH, questa non potrà più essere utilizzata né durante la creazione di un'istanza né durante il ripristino del sistema operativo su un'istanza esistente. Tuttavia, la chiave è ancora disponibile su tutte le istanze che avete precedentemente configurato con essa, e potete utilizzarla per effettuare l'accesso.
Ti viene mostrato un elenco delle regioni disponibili per il tuo gruppo di risorse specifico.
Gestione delle chiavi SSH utilizzando la CLI
Puoi anche gestire le tue chiavi SSH utilizzando la CLI.
Assicurarsi che sia installato il plug-in vpc-infrastructure della CLI di IBM Cloud. Per ulteriori informazioni, consultare la CLI di IBM Cloud per VPC.
| Azione | Comando | Cosa succede poi |
|---|---|---|
| Crea chiave SSH. | ibmcloud is key-create |
Dopo che hai creato una chiave SSH, viene aggiunta all'elenco di chiavi. |
| Visualizzare i dettagli chiave. | ibmcloud is key |
Puoi visualizzare il nome e l'ID della chiave. |
| Elenca le chiavi. | ibmcloud is keys |
Puoi visualizzare tutte le tue chiavi SSH esistenti. |
| Aggiorna chiave. | ibmcloud is key-update |
Dopo aver aggiornato una chiave esistente, la chiave viene ridenominata immediatamente. |
| Elimina chiave. | ibmcloud is key-delete |
Una volta rimossa una chiave SSH, questa non potrà più essere utilizzata né durante la creazione di un'istanza né in caso di reinstallazione del sistema operativo su un'istanza esistente. Tuttavia, la chiave è ancora disponibile su tutte le istanze che avete precedentemente configurato con essa, e potete utilizzarla per effettuare l'accesso. |
Gestione delle chiavi SSH tramite l'API
È inoltre possibile gestire le chiavi SSH tramite l'API. Per ulteriori informazioni sulle variabili $vpc_api_endpoint e $iam_token nei seguenti esempi, vedi le sezioni Autenticazione e URL endpoint in Virtual Private Cloud API Introduction.
Gestione delle chiavi SSH utilizzando Terraform
È inoltre possibile gestire le chiavi SSH utilizzando Terraform. Per ulteriori informazioni, vedi ibm_is_ssh_keys.
Elenco di tutte le tue chiavi SSH utilizzando l'interfaccia utente
Per elencare tutte le tue chiavi SSH, completa la seguente procedura.
- In IBM Cloud console, vai su Menu di navigazione icon
> Infrastrutture
> Calcolo > Chiavi SSH.
- Vengono visualizzate tutte le chiavi SSH esistenti.
Elenco di tutte le tue chiavi SSH utilizzando la CLI
Per visualizzare tutte le tue chiavi SSH esistenti, utilizza il comando ibmcloud is keys.
Utilizzare l'opzione --all-resource-groups per elencare le chiavi SSH per tutti i gruppi di risorse disponibili. Facoltativamente, puoi filtrare l'elenco per includere solo le chiavi SSH per uno specifico gruppo di risorse. Specificare
il gruppo di risorse utilizzando la variabile RESOURCE_GROUP_ID o RESOURCE_GROUP_NAME. Per ulteriori informazioni, consulta ibmcloud is keys.
ibmcloud is keys [--all-resource-groups]
Elencare tutte le tue chiavi SSH utilizzando 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"
Elenco di tutte le tue chiavi SSH utilizzando Terraform
Per elencare tutte le chiavi SSH utilizzando Terraform, utilizza ibm_is_ssh_keys.
data "ibm_is_ssh_keys" keys {}
Visualizzazione dei dettagli della chiave SSH utilizzando l'IU
Puoi vedere i dettagli seguenti di una chiave SSH.
- Nome
- Gruppo di risorse
- Impronta digitale
- Immettere
- Lunghezza
- Data di creazione (locale)
Per visualizzare i dettagli per una chiave SSH, completa la seguente procedura.
- In IBM Cloud console, vai su Menu di navigazione icon
> Infrastrutture
> Calcolo > Chiavi SSH.
- Nella pagina Chiavi SSH per VPC viene visualizzato un elenco di tutte le chiavi SSH esistenti.
- Dal menu Azioni, puoi Rinominare o Eliminare la chiave SSH.
Visualizzazione dei dettagli della tua chiave SSH utilizzando la CLI
Puoi visualizzare il nome della chiave e l'ID della chiave utilizzando il comando ibmcloud is key. Specificare il nome della chiave SSH utilizzando la variabile KEY. Per ulteriori informazioni, vedi ibmcloud is key nella guida di riferimento della CLI VPC.
ibmcloud is key KEY
Visualizzazione di dettagli della tua chiave SSH utilizzando l'API
Per richiamare le informazioni per una chiave specifica utilizzando l'API, utilizza Richiama una chiave.
Per la variabile $id, specificare il nome della chiave SSH per cui si desidera visualizzare dettagli.
curl -X GET "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"
Visualizzazione dei dettagli della tua chiave SSH utilizzando Terraform
Per recuperare informazioni per una specifica chiave utilizzando Terraform, utilizza ibm_is_ssh_keys.
Per la variabile name, specificare il nome della chiave SSH per cui si desidera visualizzare dettagli.
data "ibm_is_ssh_key" "example" {
name = "example-ssh-key"
}
Creazione di una chiave SSH tramite l'interfaccia utente
Segui questi passaggi per creare una nuova chiave SSH. È possibile creare solo tipi di chiave SSH RSH. Per utilizzare una chiave SSH Ed25519, è necessario importare tale chiave SSH. Per ulteriori informazioni, vedi Importazione di una chiave SSH utilizzando l'IU.
- In IBM Cloud console, vai su Menu di navigazione icon
> Infrastrutture
> Calcolo > Chiavi SSH.
- Fare clic su "Crea" e inserire le informazioni riportate nella Tabella 1.
Field Value Ubicazione Le ubicazioni sono costituite da regioni (aree geografiche specifiche) e zone (data center a tolleranza di guasto all’interno di una regione). Seleziona la posizione in cui desideri creare la tua chiave SSH. Nome È richiesto un nome per la chiave SSH. Gruppo di risorse Seleziona 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, consultare Utilizzo delle tag. Tag di gestione degli accessi I tag di gestione degli accessi consentono di applicare criteri di accesso flessibili a risorse specifiche. Per ulteriori informazioni, vedi l'esercitazione IU Controllo dell'accesso alle risorse utilizzando le tag. Tipo chiave SSH Il valore predefinito è rsa.È possibile creare nuove coppie di chiavi RSA utilizzando l'interfaccia utente. È possibile caricare chiavi SSH RSA e Ed25519 già esistenti. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 Non può essere utilizzato con immagini Windows o VMware.
- Seleziona " 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 nuova chiave SSH viene ora visualizzata nell'elenco di chiavi SSH nell'IU.
Importazione di una chiave SSH utilizzando l'IU
È possibile importare una chiave SSH in due modi. È possibile caricare una chiave pubblica da un file locale. In alternativa, è possibile copiare e incollare le informazioni sulla chiave pubblica nell'interfaccia utente.
Utilizza la seguente procedura per importare una chiave SSH da un file locale.
- In IBM Cloud console, vai su Menu di navigazione icon
> Infrastrutture
> Calcolo > Chiavi SSH.
- Fare clic su "Crea" e inserire le informazioni riportate nella Tabella 1.
Field Value Ubicazione Le ubicazioni sono costituite da regioni (aree geografiche specifiche) e zone (data center a tolleranza di guasto all’interno di una regione). Seleziona la posizione in cui desideri creare la tua chiave SSH. Nome È richiesto un nome per la chiave SSH. Gruppo di risorse Seleziona 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, consultare Utilizzo delle tag. Tag di gestione degli accessi I tag di gestione degli accessi consentono di applicare criteri di accesso flessibili a risorse specifiche. Per ulteriori informazioni, vedi l'esercitazione IU Controllo dell'accesso alle risorse utilizzando le tag. Tipo di chiave SSH Selezionare un tipo di chiave per la chiave SSH. Il valore predefinito è rsa. Il tipo di chiave SSHed25519può essere utilizzato solo per creare istanze se il sistema operativo supporta questo tipo di chiave. Questo tipo di chiave non può essere utilizzato con immagini Windows o VMware.
- Selezionare " Fornisci chiave pubblica esistente ".
- Fai 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.
Se si copia una chiave SSH da un terminale per aggiungerla alla propria VPC, a volte vengono inserite delle interruzioni di riga in eccesso 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. Il file che importi è id_rsa.pub o id_ed25519.pub, che contiene la tua chiave pubblica. È necessario specificare
il nome o l'ID della chiave SSH utilizzando la variabile KEY_NAME e la chiave SSH pubblica che si sta importando utilizzando la variabile KEY. Specificare il tipo di chiave SSH con l'opzione --key-type.
Facoltativamente, puoi specificare un gruppo di risorse quando crei la chiave SSH. Specificare il gruppo di risorse utilizzando la variabile RESOURCE_GROUP_ID o RESOURCE_GROUP_NAME. Vedi ibmcloud is key - create nella Guida di riferimento della CLI VPC.
ibmcloud is key-create KEY_NAME (KEY | @KEY_FILE) [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--key-type KEY_TYPE]
Importazione della tua chiave SSH utilizzando l'API
Per importare una nuova chiave SSH utilizzando l'API, utilizza Crea una chiave. Il file che importi è id_rsa.pub o id_ed25519.pub, che contiene la tua chiave pubblica.
Non puoi creare una nuova chiave SSH utilizzando l'API. Tuttavia, puoi creare una nuova chiave SSH utilizzando l'IU e dall'IU, generare il frammento di codice API di cui hai bisogno che includa la nuova chiave SSH. Per ulteriori informazioni,
consulta Creazione di una chiave SSH utilizzando l'IU.
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 tipo di chiave SSH " Ed25519 " può essere utilizzato per creare istanze solo se il sistema operativo supporta tale tipo di chiave. Questo tipo di chiave non può essere utilizzato con immagini di Windows o di " VMware ".
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
Per importare una nuova chiave SSH utilizzando Terraform, utilizza ibm_is_ssh_keys.
Per importare una nuova chiave SSH, segui questi passaggi.
-
Creare un tipo di blocco di risorse
ibm_is_ssh_keycon i valori richiesti. Per l'attributoname, specificare il nome fittizio della chiave SSH. Per l'attributopublic_key, immettere le informazioni sulla chiave pubblica fittizia.resource "ibm_is_ssh_key" "example_sshkey" { name = "my-key" public_key = "public-key" } -
Dopo aver creato la risorsa, esegui questo comando Terraform per importare la chiave SSH.
terraform import ibm_is_ssh_key.example_sshkey d7bec597-4726-451f-8a63-e62e6f19c32c
1. Migliorare la configurazione in modo che corrisponda allo stato. Copiare i dettagli del blocco di risorse per non sostituire il blocco di risorse.
```terraform {: codeblock}
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"
}
Aggiornamento della tua chiave SSH utilizzando la CLI
Puoi aggiornare una chiave esistente utilizzando il comando ibmcloud is key - update. Dopo aver aggiornato una chiave esistente, la chiave viene ridenominata immediatamente. Per ulteriori informazioni, consulta ibmcloud is key - delete.
È necessario specificare sia il nome chiave SSH corrente utilizzando la variabile KEY che il nuovo nome chiave SSL utilizzando la variabile NEW_NAME nell'opzione --name.
```sh {: pre}
ibmcloud is key-update KEY [--name NEW_NAME]
## Aggiornamento della chiave SSH utilizzando l'API {: #updating-ssh-keys-api api}
Per aggiornare una chiave SSH esistente utilizzando l'API, utilizza [Aggiorna una chiave](/docs/apis/vpc/latest#update-key). Dopo aver aggiornato una chiave esistente, la chiave viene ridenominata immediatamente.
Per la variabile `$id`, specifica il nome corrente della chiave SSH. Per la proprietà `name`, specificare il nuovo nome per la chiave SSH.
```sh {: pre}
curl -X PATCH "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "name": "my-key-1-updated" }'
Aggiornamento della tua chiave SSH utilizzando Terraform
Per aggiornare una chiave SSH esistente utilizzando Terraform, utilizza ibm_is_ssh_keys. Dopo aver aggiornato una chiave esistente, la chiave viene ridenominata immediatamente.
1. Aggiorna il blocco di risorse della chiave SSH. Per la proprietà `name`, specificare il nuovo nome per la chiave SSH.
resource "ibm_is_ssh_key" "example_sshkey" {
name = "new-example-sshkey"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
type = "rsa"
}
1. Eseguire `terraform apply` per aggiornare la risorsa con il nuovo nome.
Eliminazione della chiave SSH utilizzando la CLI
Per eliminare una o più chiavi SSH utilizzando la CLI, utilizza il comando ibmcloud is key - delete. Per ulteriori informazioni, consulta ibmcloud is key - delete. Specifica
il nome di ogni chiave SSH che elimini utilizzando la variabile KEY.
```sh {: pre}
ibmcloud is key-delete (KEY1 KEY2 ...)
## Eliminazione della chiave SSH utilizzando l'API {: #deleting-ssh-keys-api api}
Per eliminare una o più chiavi SSH utilizzando l'API, utilizza [Elimina una chiave](/docs/apis/vpc/latest#delete-key).
Per la variabile `$id`, specifica il nome della chiave SSH che vuoi eliminare.
```sh {: pre}
curl -X DELETE "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"
Eliminazione della chiave SSH utilizzando Terraform
Per eliminare la chiave SSH utilizzando Terraform, utilizza ibm_is_ssh_keys.
Per l'attributo example_sshkey, sostituirlo con la chiave SSH che si desidera eliminare.
terraform destroy --target ibm_is_ssh_keys.example_sshkey