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 authentification pour notre console SOS/OOB.
Une clé SSH de projet est spécifique à un projet unique et sera incluse par défaut sur les serveurs déployés dans ce projet. Cette option est utile si vous ne souhaitez pas utiliser de clé SSH personnelle sur un serveur partagé.
Génération d'une clé SSH de projet
Pour utiliser les 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 sous Linux, macOS et Windows (version récente). Remarque: il est recommandé de spécifier un nom et un emplacement uniques pour cette paire de clés SSH. Cela vous évitera d'écraser des clés SSH existantes.
ssh-keygen -t ed25519 -f ~/.ssh/<proj_key_name>
Pour les machines plus anciennes sans prise en charge 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 devrez l'importer dans la console Equinix Metal. L'autre fichier de clé, <proj_key_name>, situé dans le même répertoire, est la clé privée. Ne partagez jamais votre clé privée.
Remarque: si vous utilisez une version plus ancienne 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 vous connecter en SSH à vos serveurs.
Ajout d'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îtra dans la liste des clés SSH du projet. Pour la renommer ou la mettre à jour, cliquez sur Modifier.
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>"
} '
Pour mettre à jour une clé SSH, envoyez une requête PUT au point de terminaison /ssh-keys/{id}. Vous pouvez alors 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>"
} '
Projet Clés SSH – Provisionnement des serveurs
Lors du provisionnement d'un serveur, toutes les clés SSH de vos comptes utilisateurs, des membres de votre équipe et de votre projet y sont ajoutées par défaut, vous permettant ainsi d'y accéder librement. Il est possible de modifier cette valeur par défaut et de spécifier les clés à ajouter lors du provisionnement d'un nouveau serveur.
- Console
- API
Lors de la configuration dans la console, les clés SSH de projet disponibles sont affichées dans l'onglet Clés SSH des Paramètres optionnels.

Sélectionnez les clés à ajouter au serveur.
Remarque: Si toutes les clés (Projet, Personnel et Collaborateur) sont décochées, toutes les clés seront ajoutées au serveur par défaut. Il est impossible de provisionner des ressources dans la console sans clés SSH. Pour ce faire, utilisez l’API.
Pour personnaliser les clés SSH du projet incluses sur un serveur lors de son provisionnement via l'API, ajoutez le paramètre "project_ssh_keys" à votre requête POST adressée au point de terminaison projects/{id}/devices. Cela remplacera le comportement par défaut qui consiste à ajouter toutes les clés SSH au serveur et n'ajoutera que celles 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 à un serveur des clés publiques SSH non chargées et gérées par Equinix Metal à l'aide du paramètre "ssh_keys". Ces clés sont ajoutées au serveur avec celles définies par "project_ssh_keys", ou en plus de l'ajout par défaut de 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 (les listes "user_ssh_keys", "project_ssh_keys" et "ssh_keys" sont vides ou omises), toutes les clés SSH disponibles (utilisateur, projet et membre de l'équipe) seront incluses. C'est le 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.
Clés SSH du projet après provisionnement
Pour voir 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 depuis la console Equinix Metal, sur la page de détails du serveur, dans l'onglet Clés SSH.

Les clés SSH ajoutées à un serveur lors de sa mise en service peuvent être récupérées depuis l'interface de ligne de commande (CLI) avec la commande [metal device get](../libraries/cli.md#metal-device-get) et l'option --output pour spécifier le format de sortie JSON. La liste se trouve dans l'objet ssh-keys de 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. Cependant, les clés ajoutées via la console ou l'API ne sont PAS automatiquement installées sur les serveurs. Equinix Metal n'exécute aucun agent ni processus sur les serveurs provisionnés pour effectuer cette opération. Pour accorder l'accès, vous devez ajouter les clés SSH directement sur le serveur.
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 lors de son ajout à la console. Cette option est également disponible uniquement via la console Equinix Metal .

Cela n'autorise pas l'accès SSH direct 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 « Paramètres du projet », sous l’onglet « Clés SSH ». Cliquez sur « Supprimer » à côté de la clé à supprimer. Cette 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 avec la commande metal ssh-key delete.
metal ssh-key delete --id <SSH-key_UUID>
La clé SSH ne sera ajoutée à aucun futur serveur 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 ne sont PAS automatiquement supprimées des serveurs. Equinix Metal ne conserve aucun agent ni 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.