Gestión de pares de claves en instancias de Linux

Las instancias iniciadas con imágenes de Oracle Linux, CentOS o Ubuntu usan un par de claves SSH en lugar de una contraseña para autenticar a un usuario remoto (consulte Credenciales de seguridad). Un par de claves consta de una clave privada y una clave pública. Guarde la clave privada en su computadora y proporcione la clave pública al crear una instancia. Cuando se conecta a una instancia mediante SSH, proporciona la ruta a la clave privada en el comando SSH.

Puede tener tantos pares de claves como desee, o puede mantenerlo simple y usar un par de claves para todas o varias de sus instancias.

Si utiliza OpenSSH para conectarse a una instancia, puede utilizar un par de claves generado por Oracle Cloud Infrastructure en el momento de crear la instancia. Oracle no almacena una copia de la clave privada generada por la consola. OpenSSH debe estar instalado en sistemas basados en UNIX (incluidos Linux y OS X), Windows 10 y Windows Server 2019.

Para crear sus propios pares de claves, puede utilizar una herramienta de terceros, como OpenSSH en sistemas de estilo UNIX (incluidos Linux, Solaris, BSD y OS X) o PuTTY Key Generator en Windows.

Atención

Cualquier persona que tenga acceso a la clave privada puede conectarse a la instancia. Almacene la clave privada en una ubicación segura.

Formato de clave pública SSH necesario

Si proporciona su propio par de claves, debe utilizar el formato OpenSSH.

Una clave pública tiene el siguiente formato:

<key_type> <public_key> <optional_comment>

Por ejemplo, una clave pública de RSA tiene este aspecto:

ssh-rsa AAAAB3BzaC1yc2EAAAADAQABAAABAQD9BRwrUiLDki6P0+jZhwsjS2muM...

...yXDus/5DQ== rsa-key-20201202

Para imágenes de plataforma, están soportados los tipos de clave SSH RSA, DSA, DSS, ECDSA y Ed25519. Si trae su propia imagen, será el responsable de gestionar los tipos de claves SSH compatibles.

Para las claves RSA, DSS y DSA, se recomienda un mínimo de 2048 bits. Para las claves ECDSA, se recomienda un mínimo de 256 bits.

Requisitos previos

  • Si está utilizando un sistema de estilo UNIX, probablemente ya tenga instalada la utilidad ssh-keygen . Para determinar si está instalada, escriba ssh-keygen en la línea de comandos. Si no está instalada, puede descargar OpenSSH para UNIX en http://www.openssh.com/portable.html e instalarla.
  • Si está utilizando un sistema operativo Windows, necesitará PuTTY y PuTTY Key Generator. Descargue PuTTY y PuTTYgen desde http://www.putty.org e instálelos.

Creación de un par de claves SSH en la línea de comandos

  1. Abra un shell o un terminal para introducir los comandos.
  2. Cuando se le indique, introduzca ssh-keygen y proporcione un nombre para la clave cuando corresponda. Opcionalmente, incluya una frase de contraseña.

    Las claves se crean con los valores por defecto: claves RSA de 2048 bits.

También puede escribir un comando ssh-keygen completo, por ejemplo:

ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>

Los argumentos del comando se muestran en la siguiente tabla:

Argumento Descripción
-t rsa Utilice el algoritmo RSA.
-N "<passphrase>"

Frase de contraseña para proteger el uso de la clave (como una contraseña). Si no desea definir una frase de contraseña, no introduzca nada entre las comillas.

No se requiere una frase de contraseña. Puede especificar una como medida de seguridad para proteger la clave privada contra el uso no autorizado. Si especifica una frase de contraseña, deberá proporcionarla al conectarse a la instancia, lo que suele dificultar la conexión automática a una instancia.

-b 2048

Genere una clave de 2048 bits. No tiene que definir este valor si 2048 es aceptable, ya que 2048 es el valor por defecto.

Se recomienda un mínimo de 2048 bits para SSH- 2 RSA.

-C "<key_name>" Nombre para identificar la clave.
-f <path/root_name> Ubicación en la que se guardará el par de claves y nombre raíz de los archivos.

Creación de un par de claves SSH usando el generador de claves PuTTY

  1. Busque puttygen.exe en la carpeta de PuTTY de su computadora, por ejemplo, C:\Archivos de programa (x86)\PuTTY. Haga doble clic en puttygen.exe para abrirlo.
  2. Especifique un tipo de clave SSH-2 RSA y un tamaño de clave de 2048 bits:

    • En el menú Clave, confirme que esté seleccionado el valor por defecto de la clave SSH-2 RSA.
    • Para Tipo de clave que se va a generar, acepte el tipo de clave por defecto RSA.
    • Defina elnúmero de bits de una clave generada como 2048 si aún no se ha definido.
  3. Haga clic en Generar.
  4. Mueva el mouse alrededor del área en blanco de la ventana de PuTTY para generar datos aleatorios en la clave.

    Cuando se genera la clave, aparece debajo de Clave pública para pegar en el archivo OpenSSH authorized_keys.

  5. Se le genera un comentario de clave, incluido el registro de fecha y hora. Puede mantener el comentario por defecto o sustituirlo por un comentario suyo más descriptivo.
  6. Deje el campo Frase de contraseña de clave en blanco.
  7. Haga clic en Guardar clave privada y, a continuación, haga clic en en el indicador para guardar la clave sin una frase de contraseña.

    El par de claves se guarda en el formato de clave privada (PPK) de PuTTY, que es un formato propietario que solo funciona con el juego de herramientas de PuTTY.

    Puede asignar a la clave el nombre que desee, pero utilice la extensión de archivo ppk. Por ejemplo, mykey.ppk.

  8. Seleccione toda la clave generada que aparece bajo Clave pública para pegarla en el archivo OpenSSH authorized_keys, cópiela usando Ctrl + C, péguela en un archivo de texto y, a continuación, guarde el archivo en la misma ubicación que la clave privada.

    (No utilice Guardar clave pública porque no guarda la clave en formato OpenSSH.)

    Puede asignar a la clave el nombre que desee, pero para mantener la consistencia, utilice el mismo nombre que para la clave privada y una extensión de archivo pub. Por ejemplo, mykey.pub.

  9. Anote los nombres y la ubicación de sus archivos de clave pública y privada. Necesitará la clave pública al iniciar una instancia. Necesitará la clave privada para acceder a la instancia mediante SSH.

Ahora que tiene un par de claves, está listo para iniciar instancias, como se describe en Creación de una instancia.