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.