¿Es posible crear más de una clave privada para SSH en una instancia EC2? ¿Cuál es la mejor práctica general para esto? Tenemos varios usuarios que necesitan SSH en los servidores y distribuir una clave simplemente no funciona bien. Esto no nos permite eliminar a los usuarios de SSH en el servidor a menos que cambiemos la clave y la redistribuyamos.
amazon-ec2
amazon-web-services
imaginativo
fuente
fuente
Respuestas:
Absolutamente; simplemente colocas todas las claves públicas relevantes en la imagen y deberías estar en lo correcto. Prefiero usar un sistema de administración de configuración para administrar claves SSH; de esa manera es bastante trivial revocar el acceso de un usuario incluso en sistemas en ejecución. También hay muchas más ... digamos "imaginativas" ... formas de manejar esto, como almacenar todas sus claves SSH en LDAP, que centralizan las claves SSH como cualquier otra credencial.
fuente
También podría usar mecanismos ssh estándar. El mejor enfoque sería si el usuario ejecutara en su máquina
ssh-keygen
para generar su par de claves. Luego te envían~/.ssh/id_rsa.pub
(o id_dsa.pub, según el algoritmo elegido) y agregas su contenido al.ssh/authorized_keys
host de destino en el directorio de inicio de la cuenta de usuario a la que deberían poder acceder. Puede haber más de una clave en el archivo. Uno por línea. ¡Y eso es todo! La misma clave pública (id_rsa.pub) se puede utilizar en cualquier número de hosts; siempre identificará al usuario.También puede hacerlo al revés: ejecuta ssh-keygen y publica ~ / .ssh / id_rsa (o id_dsa) para el usuario. Y el usuario guarda el archivo en ~ / .ssh / id_rsa. Solo necesita recordar cambiar los permisos a 600 (-rw -------) de ese archivo, de lo contrario ssh no lo aceptará. Obviamente, esto es menos seguro, ya que la clave privada se distribuye probablemente por correo electrónico.
También se puede hacer en PuTTY con PuTTYgen.
fuente
Una forma más simple es como se muestra a continuación.
Para usuarios de Linux / Mac:
Para crear claves públicas y privadas, use el siguiente comando:
$ ssh-keygen -t rsa -b 4096
Sube la clave pública a una carpeta en tu bucket de S3. Por ejemplo: S3> MyBucket> Keypair
Guarde y asegure su clave privada.
Para usuarios de Windows:
Los siguientes pasos son importantes durante el lanzamiento de cualquier AMI de Linux.
Asegúrese de que el rol de IAM tenga un rol creado con la política AmazonS3FullAccess. Esto permite que la instancia asuma un rol para acceder a los depósitos de S3. Esto es necesario para leer las claves públicas de S3 y copiarlas en el perfil del usuario
Agregue el siguiente código en la sección de datos del usuario en Configurar detalles de instancia> Detalles avanzados (como texto):
Esta configuración crea Usuario1 y Usuario2 y los agrega a los usuarios de sudo . El comando aws s3 cp copia las claves públicas de los usuarios de la carpeta S3 a su
.ssh/authorized_keys path
. La última sección es ejecutar comandos como administrador sin necesidad de contraseñas.Hay muchas mejoras de seguridad que se pueden recomendar aquí. Si bien no se usa explícitamente en este ejemplo, limitar el acceso al depósito S3 a un depósito específico y conocer las implicaciones de seguridad de deshabilitar el uso de la contraseña en sudo, son algunas cosas que se pueden resaltar. Úselos sabiamente según sus necesidades particulares.
fuente