IBM Cloud Docs
Gestión de claves SSH

Gestión de claves SSH

Para acceder a las instancias de IBM Cloud® Virtual Servers for Virtual Private Cloud, debe poder utilizar una clave SSH disponible. Puede crear, actualizar y suprimir claves SSH en la consola, CLI y API de IBM Cloud.

La gestión de claves utilizando la consola de IBM Cloud o la CLI no tiene ningún efecto en las claves de las instancias que ya se han creado. (Para una instancia de Linux existente, puede editar las claves directamente en el directorio ~/.ssh/ de la instancia).

IBM Cloud® Virtual Private Cloud da soporte a dos tipos diferentes de claves SSH públicas.

  • RSA
  • Ed25519

Puede generar nuevos pares de claves RSA utilizando la interfaz de usuario. Se pueden cargar las claves SSH de RSA y Ed25519 preexistentes. Ed25519 solo se puede utilizar si el sistema operativo admite este tipo de clave. Ed25519 no se puede utilizar con imágenes de Windows o VMware.

Antes de empezar

Para crear una instancia de servidor virtual, debe crear o cargar una clave SSH y tenerla disponible para que pueda conectarse a la instancia después de que se haya suministrado.

Gestión de claves SSH con la consola de IBM Cloud

Al suministrar un servidor virtual, puede crear una nueva clave SSH, seleccionar en una lista disponible de claves SSH existentes o cargar una nueva.

  1. En IBM Cloud console, vaya a Navigation Menu iconmenu icon > Infrastructure VPC icon > Compute > SSH keys. Se visualizarán las claves SSH existentes.

  2. En la pestaña Claves SSH para VPC, pulse el icono Acciones Icono Más acciones para una clave SSH y seleccione entre las opciones disponibles.

    Acciones clave SSH
    Acción Descripción
    Renombrar Después de actualizar una clave SSH existente, la clave es renombrada inmediatamente.
    Eliminar Después de eliminar una clave SSH, ya no se podrá utilizar cuando aprovisione una instancia o cuando realice una recarga del SO en una instancia existente. Sin embargo, la clave sigue estando disponible en cualquier instancia que haya aprovisionado previamente con ella, y puede utilizarla para iniciar sesión.

    Se mostrará una lista de las regiones disponibles para su grupo de recursos específico.

Gestión de claves SSH utilizando la CLI

También puede gestionar las claves SSH utilizando la CLI.

Asegúrese de que el plugin IBM Cloud CLI vpc-infrastructure esté instalado. Para obtener más información, consulte IBM Cloud CLI for VPC.

Acciones clave SSH
Acción Mandato Qué sucede a continuación
Cree una clave SSH. ibmcloud is key-create Después de crear una clave SSH, se añade a la lista de claves.
Ver detalles clave. ibmcloud is key Puede ver el nombre y el ID de la clave.
Liste las claves. ibmcloud is keys Puede ver todas las claves SSH existentes.
Clave de actualización. ibmcloud is key-update Después de actualizar una clave existente, la clave se renombra de forma inmediata.
Suprima la clave. ibmcloud is key-delete Después de eliminar una clave SSH, ya no se puede utilizar cuando se aprovisiona una instancia o cuando se realiza una recarga del SO en una instancia existente. Sin embargo, la clave sigue estando disponible en cualquier instancia que haya aprovisionado previamente con ella, y puede utilizarla para iniciar sesión.

Gestión de claves SSH mediante la API

También puedes gestionar tus claves SSH utilizando la API. Para más información sobre las variables $vpc_api_endpoint y $iam_token en los siguientes ejemplos, consulte las secciones Autenticación y URLs de endpoints en Introducción a la API de Virtual Private Cloud.

Gestión de claves SSH utilizando Terraform

También puedes gestionar tus claves SSH utilizando Terraform. Consulte ibm_is_ssh_keys para obtener más información.

Listado de todas las claves SSH utilizando la interfaz de usuario

Para listar todas las claves SSH, realice los pasos siguientes.

  1. En IBM Cloud console, vaya a Navigation Menu iconmenu icon > Infrastructure VPC icon > Compute > SSH keys.
  2. Se visualizarán las claves SSH existentes.

Listado de todas las claves SSH utilizando la CLI

Para ver todas las claves SSH existentes, utilice el mandato ibmcloud is keys.

Utilice la opción --all-resource-groups para listar las claves SSH para todos los grupos de recursos disponibles. Opcionalmente, puede filtrar la lista para incluir sólo claves SSH para un grupo de recursos específico. Especifique el grupo de recursos utilizando la variable RESOURCE_GROUP_ID o RESOURCE_GROUP_NAME. Para obtener más información, consulte ibmcloud is keys.

ibmcloud is keys [--all-resource-groups]

Listado de todas las claves SSH utilizando la API

Para listar todas las claves SSH utilizando la API, utilice Listar todas las claves.

curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"

Listado de todas las claves SSH utilizando Terraform

Para listar todas las claves SSH utilizando Terraform, utilice ibm_is_ssh_keys.

data "ibm_is_ssh_keys" keys {}

Visualización de los detalles de la clave SSH utilizando la interfaz de usuario

Puede ver los siguientes detalles de una clave SSH.

  • Nombre
  • Grupo de recursos
  • Huella dactilar
  • Tipo
  • Longitud
  • Fecha de creación (local)

Para ver los detalles de una clave SSH, realice los pasos siguientes.

  1. En IBM Cloud console, vaya a Navigation Menu iconmenu icon > Infrastructure VPC icon > Compute > SSH keys.
  2. En la página Claves SSH para VPC, se muestra una lista de todas las claves SSH existentes.
  3. En el menú Acciones, puede Renombrar o Suprimir la clave SSH.

Visualización de los detalles de la clave SSH utilizando la CLI

Puede ver el nombre de la clave y el ID de la clave utilizando el mandato ibmcloud is key. Especifique el nombre de la clave SSH utilizando la variable KEY. Para obtener más información, consulte ibmcloud es clave en la guía de referencia de VPC CLI.

ibmcloud is key KEY

Visualización de detalles de la clave SSH utilizando la API

Para recuperar información para una clave específica utilizando la API, utilice Recuperar una clave.

Para la variable $id, especifique el nombre de la clave SSH para la que desea visualizar detalles.

curl -X GET "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"

Visualización de detalles de la clave SSH utilizando Terraform

Para recuperar información para una clave específica utilizando Terraform, utilice ibm_is_ssh_keys.

Para la variable name, especifique el nombre de la clave SSH para la que desea visualizar detalles.

data "ibm_is_ssh_key" "example" {
  name = "example-ssh-key"
}

Creación de una clave SSH mediante la interfaz de usuario

Siga estos pasos para crear una nueva clave SSH. Solo puede crear tipos de clave SSH RSH. Para utilizar una clave SSH Ed25519, dicha clave SSH debe importarse. Para obtener más información, consulte Importación de una clave SSH utilizando la interfaz de usuario.

  1. En IBM Cloud console, vaya a Navigation Menu iconmenu icon > Infrastructure VPC icon > Compute > SSH keys.

  2. Haga clic en Crear e introduzca la información que aparece en la Tabla 1. | Campo Valor | --- | --- | | Ubicación | Las ubicaciones se componen de regiones (áreas geográficas específicas) y zonas (centros de datos tolerantes a fallos dentro de una región). Seleccione la ubicación donde desea crear su clave SSH. | | Nombre | Se necesita un nombre para la clave SSH. | | Grupo de recursos | Seleccione un grupo de recursos para la clave SSH. | | Tags | Puede asignar una etiqueta de usuario a la clave SSH para que pueda filtrar fácilmente una lista de claves SSH. Para obtener más información, consulte Trabajar con etiquetas.| | Etiquetas de gestión de acceso | Las etiquetas de gestión de acceso te ayudan a aplicar políticas de acceso flexibles en recursos específicos. Para obtener más información, consulte la guía de aprendizaje de la interfaz de usuario Control del acceso a los recursos utilizando etiquetas. | | Tipo de clave SSH | El valor predeterminado es rsa.Puede generar nuevos pares de claves RSA utilizando la interfaz de usuario. Se pueden cargar las claves SSH de RSA y Ed25519 preexistentes. Ed25519 solo se puede utilizar si el sistema operativo admite este tipo de clave. Ed25519 no se puede utilizar con imágenes de Windows o VMware. |

  3. Seleccione Generar un par de claves para mí.

  4. Opcionalmente, pulse Obtener llamada de API de ejemplo para obtener un código de API con toda la información de clave SSH que puede copiar.

  5. Pulse Crear.

La nueva clave SSH se muestra ahora en la lista de claves SSH en la interfaz de usuario.

Importación de una clave SSH utilizando la interfaz de usuario

Puede importar una clave SSH de dos maneras. Puede cargar una clave pública desde un archivo local. O puede copiar y pegar la información de clave pública en la interfaz de usuario.

Utilice los pasos siguientes para importar una clave SSH desde un archivo local.

  1. En IBM Cloud console, vaya a Navigation Menu iconmenu icon > Infrastructure VPC icon > Compute > SSH keys.

  2. Haga clic en Crear e introduzca la información que aparece en la Tabla 1. | Campo Valor | --- | --- | | Ubicación | Las ubicaciones se componen de regiones (áreas geográficas específicas) y zonas (centros de datos tolerantes a fallos dentro de una región). Seleccione la ubicación donde desea crear su clave SSH. | | Nombre | Se necesita un nombre para la clave SSH. | | Grupo de recursos | Seleccione un grupo de recursos para la clave SSH. | | Tags | Puede asignar una etiqueta de usuario a la clave SSH para que pueda filtrar fácilmente una lista de claves SSH. Para obtener más información, consulte Trabajar con etiquetas.| | Etiquetas de gestión de acceso | Las etiquetas de gestión de acceso te ayudan a aplicar políticas de acceso flexibles en recursos específicos. Para obtener más información, consulte la guía de aprendizaje de la interfaz de usuario Control del acceso a los recursos utilizando etiquetas. | | Tipo de clave SSH | Seleccione un tipo de clave para la clave SSH. El valor predeterminado es rsa. El tipo de clave SSH de ed25519 sólo se puede utilizar para crear instancias si el sistema operativo da soporte a este tipo de clave. Este tipo de clave no se puede utilizar con imágenes de Windows o VMware. |

  3. Seleccione Proporcionar clave pública existente.

  4. Haga clic en Cargar clave pública.

  5. Seleccione el archivo de clave pública y haga clic en Abrir. La extensión de archivo, .pub, normalmente indica qué archivo contiene la clave pública.

  6. Opcionalmente, pulse Obtener llamada de API de ejemplo para obtener un código de API con toda la información de clave SSH que puede copiar.

  7. Pulse Crear.

Si copia una clave SSH desde un terminal para añadir la clave a su VPC, a veces se introducen saltos de línea adicionales que provocan un error de análisis. Para evitar este problema, pegue primero la clave SSH en un editor de texto y elimine los saltos de línea adicionales. A continuación, copie la clave SSH desde el editor de texto y péguela en la interfaz de usuario de VPC, la CLI o la API.

La clave SSH importada se muestra ahora en la lista de claves SSH en la interfaz de usuario.

Importación de la clave SSH utilizando la CLI

Para importar una clave SSH utilizando la CLI, utilice el mandato ibmcloud is key-create. El archivo que importa es id_rsa.pub o id_ed25519.pub, que contiene la clave pública. Debe especificar el nombre o el ID de la clave SSH utilizando la variable KEY_NAME y la clave SSH pública que está importando utilizando la variable KEY. Especifique el tipo de clave SSH con la opción --key-type. Opcionalmente, puede especificar un grupo de recursos al crear la clave SSH. Especifique el grupo de recursos utilizando la variable RESOURCE_GROUP_ID o RESOURCE_GROUP_NAME. Consulte ibmcloud is key-create en la guía de referencia de la CLI de 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]

Importación de la clave SSH utilizando la API

Para importar una nueva clave SSH utilizando la API, utilice Crear una clave. El archivo que importa es id_rsa.pub o id_ed25519.pub, que contiene la clave pública. No puede crear una clave SSH nueva utilizando la API. Sin embargo, puede crear una nueva clave SSH utilizando la interfaz de usuario y desde la interfaz de usuario, generar el fragmento de código de API que necesita que incluya la nueva clave SSH. Para obtener más información, consulte Creación de una clave SSH utilizando la interfaz de usuario.

Para la propiedad name, especifique el nombre de la clave SSH. Para la propiedad public_key, especifique la información de clave pública. Para la propiedad type, especifique rsa o ed25519 para el tipo de clave SSH.

El tipo de clave SSH Ed25519 sólo se puede utilizar para crear instancias si el sistema operativo da soporte a este tipo de clave. Este tipo de clave no se puede utilizar con imágenes de Windows o 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"
    }'

Importación de la clave SSH utilizando Terraform

Para importar una nueva clave SSH utilizando Terraform, utilice ibm_is_ssh_keys.

Para importar una nueva clave SSH, siga estos pasos.

  1. Cree un tipo de bloque de recursos de ibm_is_ssh_key con los valores necesarios. Para el atributo name, especifique el nombre ficticio de la clave SSH. Para el atributo public_key, especifique la información de clave pública ficticia.

    resource "ibm_is_ssh_key" "example_sshkey" {
      name = "my-key"
      public_key = "public-key"
    }
    
  2. Después de crear el recurso, ejecute el siguiente mandato de Terraform para importar la clave SSH.

 terraform import ibm_is_ssh_key.example_sshkey d7bec597-4726-451f-8a63-e62e6f19c32c
  1. Mejore la configuración para que coincida con el estado. Copie los detalles del bloque de recursos para evitar sustituir el bloque de recursos.

    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"
    }
    

Actualización de la clave SSH utilizando la CLI

Puede actualizar una clave existente utilizando el mandato ibmcloud is key-update. Después de actualizar una clave existente, la clave se renombra de forma inmediata. Para obtener más información, consulte ibmcloud is key-delete. Debe especificar el nombre de clave SSH actual utilizando la variable KEY y el nuevo nombre de clave SSH utilizando la variable NEW_NAME en la opción --name.

ibmcloud is key-update KEY [--name NEW_NAME]

Actualización de la clave SSH mediante la API

Para actualizar una clave SSH existente utilizando la API, utilice Actualizar una clave. Después de actualizar una clave existente, la clave se renombra de forma inmediata.

Para la variable $id, especifique el nombre actual de la clave SSH. Para la propiedad name, especifique el nuevo nombre para la clave SSH.

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" }'

Actualización de la clave SSH utilizando Terraform

Para actualizar una clave SSH existente utilizando Terraform, utilice ibm_is_ssh_keys. Después de actualizar una clave existente, la clave se renombra de forma inmediata.

  1. Actualice el bloque de recursos de clave SSH. Para la propiedad name, especifique el nuevo nombre para la clave 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"
    }
    
  2. Ejecute terraform apply para actualizar el recurso con el nuevo nombre.

Eliminación de la clave SSH mediante la CLI

Para suprimir una o más claves SSH utilizando la CLI, utilice el mandato ibmcloud is key-delete. Para obtener más información, consulte ibmcloud is key-delete. Especifique el nombre de cada clave SSH que suprima utilizando la variable KEY.

ibmcloud is key-delete (KEY1 KEY2 ...)

Eliminación de la clave SSH mediante la API

Para suprimir una o más claves SSH utilizando la API, utilice Suprimir una clave.

Para la variable $id, especifique el nombre de la clave SSH que desea suprimir.

curl -X DELETE "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"

Supresión de la clave SSH utilizando Terraform

Para suprimir la clave SSH utilizando Terraform, utilice ibm_is_ssh_keys.

Para el atributo example_sshkey, sustitúyalo por la clave SSH que desea suprimir.

terraform destroy --target ibm_is_ssh_keys.example_sshkey