Clés SSH du projet
SSH est la méthode par défaut pour accéder à un serveur Equinix Metal™. Les clés SSH peuvent être associées à votre compte ou à votre projet, et ajoutées à chaque serveur que vous provisionnez. Equinix Metal utilise également les clés SSH comme moyen d'authentification pour notre console SOS/OOB.
Une clé SSH de projet est spécifique à un seul projet, et sera incluse par défaut sur les serveurs déployés dans un projet particulier. Cette option est utile si vous ne souhaitez pas utiliser une clé SSH personnelle sur un serveur partagé.
Générer une clé SSH pour le projet
Pour utiliser des clés SSH avec Equinix Metal, générez d'abord une paire de clés publique et privée sur votre machine locale, puis associez la clé publique à votre projet Equinix Metal.
Pour générer une paire de clés SSH, utilisez la commande ssh-keygen sur Linux, Mac et les machines Windows modernes. Remarque : nous vous recommandons de spécifier un nom de clé SSH et un emplacement uniques à utiliser pour la paire de clés. Vous vous assurerez ainsi de ne pas écraser les clés SSH existantes.
ssh-keygen -t ed25519 -f ~/.ssh/<proj_key_name>
Pour les machines plus anciennes ne prenant pas en charge la norme Ed25519, les clés RSA sont prises en charge avec une taille de clé minimale recommandée de 2048 bits.
ssh-keygen -t rsa -b 2048 -f ~/.ssh/<proj_key_name>
La clé publique est nommée <proj_key_name>.pub. Vous téléchargerez cette clé dans la console Metal d'Equinix. L'autre fichier de clé dans le même répertoire, <proj_key_name>, est la clé privée. Ne partagez pas votre clé privée.
Remarque - si vous utilisez une ancienne version de Windows qui ne comprend pas de serveur et de client SSH intégrés, vous devrez télécharger et configurer une application tierce telle que PuTTY pour [générer des clés et entrer en SSH sur vos serveurs.
Ajouter une clé SSH à votre projet
- Console
- API
Vous pouvez ajouter une clé SSH à un projet sur sa page Paramètres du projet, dans l'onglet Clés SSH.

Une fois la clé SSH ajoutée, elle apparaît dans la liste des clés SSH du projet. Si vous devez renommer ou mettre à jour la clé, cliquez sur Editer.
Pour ajouter une clé SSH à un projet via l'API, envoyez une requête POST au point de terminaison /projects/{id}/ssh-keys.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/ssh-keys" \
-d '{
"label": "<string>",
"key": "<ssh_public_key>"
} '
Si vous devez mettre à jour une clé SSH, envoyez une requête PUT au point de terminaison /ssh-keys/{id}. Vous pouvez mettre à jour soit la clé "label", soit la clé "key", soit les deux.
curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ssh-keys/{id}" \
-d '{
"label": "<string>",
"key": "<ssh_public_key>"
} '
Clés SSH du projet - Approvisionnement des serveurs
Lorsque vous provisionnez un serveur, toutes les clés SSH de votre compte utilisateur, les clés SSH des membres de l'équipe et les clés SSH du projet sont ajoutées par défaut, ce qui permet un accès autorisé au serveur. Il est possible de remplacer cette valeur par défaut et de spécifier les clés à ajouter lors de l'approvisionnement d'un nouveau serveur.
- Console
- API
Lors du provisionnement dans la console, les clés SSH de projet disponibles sont affichées dans l'onglet Clés SSH dans les Paramètres optionnels.

Sélectionnez les clés à ajouter au serveur.
Remarque : Si toutes les clés (Project, Personal et Collaborator) ne sont pas cochées, toutes les clés seront ajoutées au serveur par défaut. Il n'y a aucun moyen de provisionner dans la Console sans clés SSH. Pour provisionner sans clés SSH, utilisez l'API.
Pour personnaliser les clés SSH du projet qui sont incluses sur un serveur lors du provisionnement avec l'API, incluez le paramètre "project_ssh_keys" dans votre demande POST au point de terminaison projects/{id}/devices. Cela annulera le comportement par défaut qui consiste à ajouter toutes les clés SSH au serveur et n'ajoutera que les clés SSH spécifiées.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"project_ssh_keys": [
<uuid>
]
}'
Paramètre corporel notable :
"project_ssh_keys"- An array containing a list of UUIDs of the Project's SSH keys used to authorize access this server. These keys will also appear in the device metadata.
Vous pouvez également ajouter des clés publiques SSH qui ne sont pas téléchargées et gérées par Equinix Metal à un serveur en utilisant le paramètre de corps "ssh_keys". Ces clés sont ajoutées au serveur en même temps que les clés définies par "project_ssh_keys", ou en plus du comportement par défaut qui consiste à ajouter toutes les clés SSH disponibles.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"ssh_keys": [
{
"key": "<ssh_public_key>",
"label": "<string>"
}
]
}'
Paramètre corporel notable :
"ssh_keys"- An array of SSH key objects that will be added to the server to authorize SSH access to it. These keys will also appear in the device metadata.
Si aucune clé SSH n'est spécifiée ("user_ssh_keys", "project_ssh_keys" et "ssh_keys" sont des listes vides ou omises), toutes les clés SSH des utilisateurs, des projets et des membres de l'équipe seront incluses. Il s'agit du comportement par défaut.
Provisionnement sans clés SSH
Pour provisionner un serveur sans clés SSH, vous devez inclure explicitement le paramètre "no_ssh_keys" dans votre requête POST au point de terminaison projects/{id}/devices.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"no_ssh_keys": true
}'
Paramètre corporel notable :
"no_ssh_keys"- Boolean that overrides default behavior of attaching user, team member, and Project SSH keys to a server and provisions it without any authorized SSH access.
Approvisionnement des clés SSH du projet
Pour savoir quelles clés se trouvent sur un serveur provisionné :
- Console
- CLI
- API
Vous pouvez voir quelles clés SSH se trouvent sur un serveur spécifique à partir de la console Equinix Metal dans la page détaillée du serveur, sur l'onglet SSH Keys.

Les clés SSH qui ont été ajoutées à un serveur au moment de l'approvisionnement peuvent être récupérées à partir de la CLI avec la commande metal device get avec l'indicateur --output pour spécifier la sortie JSON. La liste peut être trouvée dans l'objet ssh-keys dans la réponse.
metal device get -i <device_id> -o json
Vous pouvez également obtenir les clés SSH d'un serveur à partir de l'API en envoyant une requête GET au point de terminaison /devices/{id}/ssh-keys.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/devices/{id}/ssh-keys"
Vous pouvez ajouter des clés SSH à votre projet à tout moment, mais les clés ajoutées à vos projets via la console ou l'API sont NON automatiquement ajoutées aux serveurs. Equinix Metal ne conserve aucun agent ou processus sur les serveurs provisionnés pour effectuer cette action. Pour accorder l'accès, vous devez ajouter des clés SSH au serveur lui-même.
Si vous ajoutez une clé que vous souhaitez utiliser avec des serveurs provisionnés, cochez l'option permettant d'associer la nouvelle clé à des serveurs spécifiques ou à tous les serveurs lorsque vous l'ajoutez à la console. Cette option n'est également disponible que dans la console Equinix Metal.

Cela n'autorise pas l'accès SSH directement au serveur, mais permet d'utiliser la nouvelle clé SSH lors de la connexion et de l'utilisation de la console SOS/OOB. Vous pouvez ensuite utiliser la console SOS/OOB pour ajouter votre nouvelle clé SSH aux clés autorisées sur le serveur.
Suppression des clés SSH du projet
- Console
- CLI
- API
Vous pouvez supprimer les clés SSH du projet à partir de la page Project Settings, sur l'onglet SSH Keys. Cliquez sur Delete à côté de la clé que vous souhaitez supprimer. La clé SSH ne sera pas ajoutée aux futurs serveurs que vous provisionnerez dans ce projet.

Vous pouvez supprimer une clé SSH de votre compte utilisateur à l'aide de la commande metal ssh-key delete.
metal ssh-key delete --id <SSH-key_UUID>
La clé SSH ne sera pas ajoutée aux futurs serveurs que vous provisionnerez.
Dans l'API, les clés SSH peuvent être supprimées de votre compte en envoyant un DELETE au point de terminaison /ssh-keys/{id}.
curl -X DELETE \
-H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/ssh-keys/{id}"
La clé ne sera plus ajoutée aux serveurs au moment de la mise à disposition.
Remarque : les clés supprimées de votre compte ou de vos projets via la console ou l'API sont NON automatiquement supprimées des serveurs. Equinix Metal ne conserve aucun agent ou processus sur les serveurs provisionnés pour effectuer cette action. Pour révoquer l'accès, vous devez supprimer manuellement les clés SSH du serveur.