GNU/Linux >> Tutoriales Linux >  >> Linux

Administre pares de claves SSH para servidores en la nube con python-novaclient

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.


Linux
  1. ¿No puede acceder a Google Cloud Server después de reiniciar?

  2. Preguntas frecuentes sobre servidores en la nube

  3. Crear servidores en la nube de OnMetal

  4. Descripción general del servidor en la nube de OnMetal

  5. Matriz de permisos para servidores en la nube

Cómo administrar de forma remota un servidor Linux con SSH

Cómo administrar de forma remota el servidor Ubuntu con SSH

Crear un servidor en la nube

Genere claves RSA con SSH usando PuTTYgen

Inicie sesión en un servidor Linux con una clave privada SSH en un cliente de Windows

Administrar un servidor en la nube