Rotar claves SSH - AWS Transfer Family

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Rotar claves SSH

Por seguridad, la rotación de las claves SSH es una buena práctica que recomendamos. Normalmente, la rotación se especifica como parte de una política de seguridad y se implementa con algún mecanismo automático. En función del nivel de seguridad, para comunicaciones altamente confidenciales puede que un par de claves SSH se utilice una sola vez. Esto elimina cualquier riesgo derivado del almacenamiento de las claves. Sin embargo, es mucho más habitual almacenar las credenciales SSH durante cierto periodo de tiempo y establecer un intervalo que no suponga una carga excesiva para los usuarios. Un intervalo de tres meses es habitual.

Existen dos métodos para realizar la rotación de claves SSH:

  • En la consola, puede cargar una clave pública SSH nueva y eliminar una clave pública SSH existente.

  • Con la API, puede actualizar los usuarios existentes mediante la DeleteSshPublicKeyAPI para eliminar la clave pública de Secure Shell (SSH) de un usuario y la ImportSshPublicKeyAPI para añadir una nueva clave pública de Secure Shell (SSH) a la cuenta del usuario.

Console
Cómo realizar una rotación de claves en la consola
  1. Abra la AWS Transfer Family consola en. https://console.aws.amazon.com/transfer/

  2. Navegue a la página Servidores.

  3. Elija el identificador en la columna ID de servidor para ver la página Detalles del servidor.

  4. En Usuarios, seleccione la casilla del usuario cuya clave pública SSH quiere rotar, luego, seleccione Acciones y, a continuación, seleccione Añadir clave para ver la página Añadir clave.

    o

    Seleccione el nombre de usuario para ver la página de Detalles del usuario y, a continuación, Añadir clave pública SSH para ver la página Añadir clave.

  5. Introduzca la nueva clave pública de SSH y seleccione Añadir clave.

    importante

    El formato de la clave pública SSH depende del tipo de clave que haya generado.

    • En el caso de las claves RSA, el formato es ssh-rsa string.

    • En el ED25519 caso de las claves, el formato esssh-ed25519 string.

    • En el caso de las claves ECDSA, la clave comienza por ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 o ecdsa-sha2-nistp521, según el tamaño de la clave que haya generado. A continuación, la cadena inicial va seguida de string, de forma similar a los demás tipos de clave.

    Volverá entonces a la pantalla Detalles de usuario en cuya sección de claves SSH públicas aparecerá la nueva clave pública SSH.

  6. Seleccione las casillas de verificación situadas junto a las claves que desea eliminar y seleccione Eliminar.

  7. Confirme la operación de eliminación escribiendo la palabra delete y, a continuación, seleccione Eliminar.

API
Cómo realizar una rotación de claves mediante la API
  1. En los sistemas operativos macOS, Linux o Unix, abra una terminal de comandos.

  2. Recupere la clave SSH que desea eliminar al ingresar el siguiente comando. Para usar este comando, reemplace serverID por el ID del servidor de su servidor de Transfer Family y reemplace username por su nombre de usuario.

    aws transfer describe-user --server-id='serverID' --user-name='username'

    El comando devuelve detalles sobre el usuario. Copie el contenido del campo "SshPublicKeyId":. Tendrá que introducir este valor más tarde en este mismo procedimiento.

    "SshPublicKeys": [ { "SshPublicKeyBody": "public-key", "SshPublicKeyId": "keyID", "DateImported": 1621969331.072 } ],
  3. A continuación, importe una nueva clave SSH para su usuario. Cuando se le solicite, introduzca el comando siguiente. Para usar este comando, reemplace serverID por el ID del servidor de su servidor de Transfer Family, reemplace username por su nombre de usuario, y reemplace public-key por la huella digital de su clave pública nueva.

    aws transfer import-ssh-public-key --server-id='serverID' --user-name='username' --ssh-public-key-body='public-key'

    Si el comando se ejecuta correctamente, no se muestra ningún resultado.

  4. Por último, elimine la clave anterior mediante el siguiente comando. Para usar este comando, reemplace serverID por el ID del servidor de su servidor de Transfer Family, reemplace username por su nombre de usuario, y reemplace keyID-from-step-2 por el valor de identificador de clave que copió en el paso 2 de este procedimiento

    aws transfer delete-ssh-public-key --server-id='serverID' --user-name='username' --ssh-public-key-id='keyID-from-step-2'
  5. (Opcional) Para confirmar que la clave anterior ya no existe, repita el paso 2.