GNU/Linux >> Tutoriels Linux >  >> Linux

Gérer les paires de clés SSH pour les serveurs cloud avec python-novaclient

Le protocole SSH de connexion à distance aux serveurs prend en charge l'utilisation de paires de clés à la place des connexions basées sur un mot de passe. La clé privée existe sur la machine initiant la connexion (généralement un poste de travail), et la clé publique existe dans un compte utilisateur sur le serveur distant. Lorsque vous tentez une connexion, les clés publique et privée fonctionnent ensemble pour authentifier l'utilisateur.

L'authentification par paire de clés est plus sécurisée que l'authentification par mot de passe. Si vous vous connectez régulièrement à partir des mêmes machines, désactiver l'authentification par mot de passe via SSH et autoriser uniquement l'authentification par paire de clés protège votre serveur contre les tentatives de connexion par force brute.

Pour plus d'informations sur l'utilisation de SSH pour se connecter aux serveurs, consultez les articles suivants :

  • Pour plus d'informations sur la connexion et la génération de clés sur la ligne de commande Linux® ou le terminal macOS® X, consultez :Connexion à un serveur à l'aide de SSH sous Linux ou Mac OS.
  • Pour plus d'informations sur l'utilisation de PuTTY® sur Microsoft® Windows® pour établir des connexions SSH, consultez :Connexion à Linux à partir de Windows à l'aide de PuTTY.
  • Pour plus d'informations sur l'utilisation de PuTTYgen® sous Windows pour générer des paires de clés, consultez : Génération de clés RSA avec SSH - PuTTYgen

Cet article explique comment utiliser l'outil de ligne de commande python-novaclient pour générer une paire de clés et attribuer sa clé publique à un serveur Linux® lorsque vous créez le serveur.

Vous pouvez également gérer directement les paires de clés à l'aide de l'API Cloud Servers.

Prérequis

Installez le client python-nova sur l'ordinateur client. Pour trouver des instructions détaillées pour configurer le client, voirUtilisation de python-novaclient avec le Rackspace Cloud.

Créer une paire de clés

La keypair commande dans python-novaclient crée ou télécharge une paire de clés existante et l'associe à un nom que vous pouvez ensuite référencer dans les opérations de génération.

Vous pouvez créer une nouvelle paire de clés en utilisant le keypair-add commande pour nova en contournant un nom pour la paire de clés comme argument. L'opération d'API stocke la clé publique dans votre profil utilisateur. La sortie de la commande est la clé privée.

Par exemple, pour créer une paire de clés nommée mykey et le sortir dans un fichier dans le .ssh répertoire de l'utilisateur actuel, vous pouvez lancer la commande suivante :

nova keypair-add mykey > ~/.ssh/webserver_rsa

Remarque  :Nommez le fichier clé de n'importe quel nom et placez-le dans un emplacement que vous pourrez utiliser ultérieurement. Si vous générez plusieurs clés pour différents serveurs, il est utile de nommer les fichiers clés d'après les serveurs.

Seule la clé publique existe dans votre profil. Si vous perdez la clé privée, vous devez générer une nouvelle paire de clés.

Télécharger une clé existante

Si vous avez déjà une paire de clés générée, vous pouvez ajouter la clé publique à votre profil en utilisant le keypair-add commande pour nova avec le --pub-key option, comme illustré dans l'exemple suivant :

nova keypair-add --pub-key id_rsa.pub mykey

Liste des clés

Pour lister les clés associées à votre profil, utilisez la keypair-list commande pour nova , comme illustré dans l'exemple suivant :

nova keypair-list

Afficher les détails de la clé

Pour voir les détails d'une clé publique particulière dans votre liste, utilisez le keypair-show commande pour nova et faites référence au nom que vous avez attribué à la paire de clés, comme illustré dans l'exemple suivant :

nova keypair-show mykey

Vous pouvez utiliser cette commande pour récupérer votre clé publique à utiliser avec un autre serveur.

Supprimer la clé

Pour supprimer une clé publique de votre profil, utilisez le keypair-delete commande pournova et faites référence au nom que vous avez attribué à la paire de clés, comme illustré dans l'exemple suivant :

nova keypair-delete mykey

Créer un serveur avec une clé injectée

Pour créer un serveur qui inclut une clé publique stockée pour l'utilisateur root, utilisez la commande de création de serveur de démarrage suivante avec le --key-name argument :

nova boot --flavor performance1-1 --image <image-id> --key-name mykey Test_Server

La réponse de la commande affiche les informations de votre serveur, y compris un key_name: mykey champ indiquant la clé associée à ce serveur.

Se connecter à un serveur avec une paire de clés

Une fois que le serveur que vous avez créé avec une paire de clés est opérationnel, vous pouvez vous connecter en utilisant cette paire de clés.

Sous Linux et macOS, vous pouvez ajouter votre clé privée à votre compte utilisateur .ssh et nommez votre serveur dans le répertoire ~/.ssh/config fichier, comme illustré dans l'exemple suivant :

Host myservername
User myuser
HostName myServerDnsOrIp
IdentityFile /path/to/appropriate/ssh/rsa/private/key

Ou, vous pouvez utiliser le -i option pour ssh pour identifier la clé privée d'une connexion. Par exemple :

ssh -i ~/.ssh/webserver_rsa [email protected]

Paires de clés et contrôle d'accès basé sur les rôles (RBAC)

Les paires de clés sont stockées pour les utilisateurs et non pour les comptes. Par conséquent, un utilisateur configuré sur un compte ne peut pas voir ou manipuler les clés des autres utilisateurs sur le compte, quel que soit le rôle attribué à cet utilisateur.

Utilisez l'onglet Commentaires pour faire des commentaires ou poser des questions. Vous pouvez également démarrer une conversation avec nous.


Linux
  1. Comment se connecter au serveur ssh avec plink et cmd et clé publique

  2. Impossible de se connecter en SSH à Google Cloud Server après le redémarrage ?

  3. Carte de clé privée-publique Ssh pour le client ?

  4. Mettre à niveau les outils Citrix (XenServer) pour les serveurs cloud Windows

  5. Utilisation de python-novaclient avec les serveurs Rackspace Cloud

Comment gérer à distance un serveur Linux avec SSH

Comment gérer à distance le serveur Ubuntu avec SSH

Créer un serveur cloud

Générer des clés RSA avec SSH en utilisant PuTTYgen

Connectez-vous à un serveur Linux avec une clé privée SSH sur un client Windows

Gérer un serveur cloud