El protocolo SSH para conectarse de forma remota a servidores admite el uso de pares de claves en lugar de inicios de sesión basados en contraseña. La clave privada existe en la máquina que inicia la conexión (generalmente una estación de trabajo) y la clave pública existe en una cuenta de usuario en el servidor remoto. Cuando intenta establecer una conexión, las claves pública y privada trabajan juntas para autenticar al usuario.
La autenticación de par de claves es más segura que la autenticación basada en contraseña. Si se conecta regularmente desde las mismas máquinas, deshabilitar la autenticación basada en contraseña a través de SSH y permitir solo la autenticación de par de claves protege su servidor de los intentos de inicio de sesión de fuerza bruta.
Para obtener más información sobre el uso de SSH para conectarse a servidores, consulte los siguientes artículos:
- Para obtener información sobre cómo conectar y generar claves en la línea de comandos de Linux® o macOS® X Terminal, consulte:Conexión a un servidor usando SSH en Linux o Mac OS.
- Para obtener información sobre el uso de PuTTY® en Microsoft® Windows® para realizar conexiones SSH, consulte:Conexión a Linux desde Windows mediante PuTTY.
- Para obtener información sobre el uso de PuTTYgen® en Windows para generar pares de claves, consulte:Generación de claves RSA con SSH - PuTTYgen
Este artículo analiza el uso de la herramienta de línea de comandos python-novaclient para generar un par de claves y asignar su clave pública a un servidor Linux® cuando crea el servidor.
También puede administrar pares de claves directamente mediante la API de servidores en la nube.
Requisitos
Instalar cliente python-nova en la computadora del cliente. Para encontrar instrucciones detalladas para configurar el cliente, consulte Uso de python-novaclient con Rackspace Cloud.
Crear un par de claves
El keypair
comando en python-novaclient crea o carga un par de claves existente y lo asocia con un nombre al que luego puede hacer referencia en las operaciones de compilación.
Puede crear un nuevo par de claves usando keypair-add
comando para nova
pasando por alto un nombre para el par de claves como argumento. La operación API almacena la clave pública en su perfil de usuario. La salida del comando es la clave privada.
Por ejemplo, para crear un par de claves llamado mykey
y enviarlo a un archivo en .ssh directorio del usuario actual, puede ejecutar el siguiente comando:
nova keypair-add mykey > ~/.ssh/webserver_rsa
Nota :Asigne cualquier nombre al archivo de claves y colóquelo en una ubicación que pueda usar más adelante. Si genera varias claves para diferentes servidores, es útil nombrar los archivos de claves después de los servidores.
Solo la clave pública existe en su perfil. Si pierde la clave privada, debe generar un nuevo par de claves.
Subir una clave existente
Si ya tiene un par de claves generado, puede agregar la clave pública a su perfil usando keypair-add
comando para nova
con --pub-key
opción, como se muestra en el siguiente ejemplo:
nova keypair-add --pub-key id_rsa.pub mykey
Lista de claves
Para enumerar las claves asociadas con su perfil, use la keypair-list
comando para nova
, como se muestra en el siguiente ejemplo:
nova keypair-list
Mostrar detalles clave
Para ver detalles sobre una clave pública en particular en su lista, use el keypair-show
comando para nova
y haga referencia al nombre que asignó al par de claves, como se muestra en el siguiente ejemplo:
nova keypair-show mykey
Puede usar este comando para recuperar su clave pública para usarla con otro servidor.
Borrar clave
Para eliminar una clave pública de su perfil, use keypair-delete
comando para nova
y haga referencia al nombre que le asignó al par de claves, como se muestra en el siguiente ejemplo:
nova keypair-delete mykey
Crear un servidor con una clave inyectada
Para crear un servidor que incluya una clave pública almacenada para el usuario root, use el siguiente comando de creación de servidor de arranque con --key-name
argumento:
nova boot --flavor performance1-1 --image <image-id> --key-name mykey Test_Server
La respuesta del comando muestra la información de su servidor, incluido un key_name: mykey
campo que muestra la clave asociada con ese servidor.
Conectarse a un servidor con un par de claves
Una vez que el servidor que creó con un par de claves esté en funcionamiento, puede iniciar sesión con ese par de claves.
En Linux y macOS, puede agregar su clave privada a su cuenta de usuario .ssh directorio y asigne un nombre a su servidor en ~/.ssh/config archivo, como se muestra en el siguiente ejemplo:
Host myservername
User myuser
HostName myServerDnsOrIp
IdentityFile /path/to/appropriate/ssh/rsa/private/key
O bien, puede utilizar -i
opción para ssh
para identificar la clave privada para una conexión. Por ejemplo:
ssh -i ~/.ssh/webserver_rsa [email protected]
Pares de claves y control de acceso basado en roles (RBAC)
Los pares de claves se almacenan para los usuarios y no para las cuentas. Por lo tanto, un usuario configurado en una cuenta no puede ver ni manipular las claves de otros usuarios en la cuenta, independientemente del rol asignado a ese usuario.
Use la pestaña Comentarios para hacer cualquier comentario o hacer preguntas. También puede iniciar una conversación con nosotros.