Chaves SSH do Projeto
SSH é o método padrão de acesso a um servidor Equinix Metal™. Chaves SSH podem ser associadas à sua conta ou projeto e adicionadas a cada servidor que você provisionar. O Equinix Metal também usa chaves SSH como autenticação para nosso console SOS/OOB.
Uma chave SSH de projeto é específica para um único projeto e será incluída por padrão nos servidores implantados em um projeto específico. Esta opção é útil se você não quiser usar uma chave SSH pessoal em um servidor compartilhado.
Gerando uma chave SSH do projeto
Para usar chaves SSH com o Equinix Metal, primeiro gere um par de chaves pública e privada na sua máquina local e, em seguida, associe a chave pública ao seu Projeto Equinix Metal .
Para gerar um par de chaves SSH, use o comando ssh-keygen em sistemas Linux, Mac e máquinas Windows modernas. Observação: recomendamos que você especifique um nome e um local exclusivos para a chave SSH a ser usada no par de chaves. Isso garantirá que você não sobrescreva nenhuma chave SSH existente.
ssh-keygen -t ed25519 -f ~/.ssh/<proj_key_name>
Para máquinas mais antigas sem suporte ao Ed25519, as chaves RSA são suportadas com um tamanho mínimo de chave recomendado de 2048 bits.
ssh-keygen -t rsa -b 2048 -f ~/.ssh/<proj_key_name>
A chave pública é denominada <proj_key_name>.pub. Você deverá carregar esta chave no console Equinix Metal . O outro arquivo de chave no mesmo diretório, <proj_key_name>, é a chave privada. Não compartilhe sua chave privada.
Observação - se você estiver em uma versão mais antiga do Windows que não inclui um servidor e cliente SSH integrados, você precisará baixar e configurar um aplicativo de terceiros, como o PuTTY, para [gerar chaves e acessar seus servidores via SSH.
Adicionando uma chave SSH ao seu projeto
- Console
- API
Você pode adicionar uma chave SSH a um projeto na página Configurações do Projeto, na aba Chaves SSH.

Após adicionar a chave SSH, ela aparecerá na lista de chaves SSH do projeto. Se você renomear ou atualizar a chave, clique em Editar.
Para adicionar uma chave SSH a um projeto através da API, envie uma solicitar POST para o endpoint /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>"
} '
Se você precisar atualizar uma chave SSH, envie uma solicitar PUT para o endpoint /ssh-keys/{id}. Você pode atualizar o "label", o "key" ou ambos.
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>"
} '
Chaves SSH do Projeto - Servidores de Provisionamento
Ao você um servidor, todas as chaves SSH da sua conta de usuário, chaves SSH dos membros da equipe e chaves SSH do projeto são adicionadas a ele por padrão, concedendo acesso autorizado ao servidor. É possível substituir esse padrão e especificar quais chaves adicionar ao provisionamento um novo servidor.
- Console
- API
Ao provisionamento no console, as chaves SSH disponíveis do projeto são exibidas na guia Chaves SSH nas Configurações Opcionais.

Selecione quais chaves adicionar ao servidor.
Observação: Se todas as chaves (Projeto, Pessoal e Colaborador) estiverem desmarcadas, todas as chaves serão adicionadas ao servidor por padrão. Não há como provisionar no Console sem chaves SSH. Para provisionar sem chaves SSH, use a API.
Para personalizar quais chaves SSH do projeto são incluídas em um servidor ao provisionamento com a API, inclua o parâmetro "project_ssh_keys" em sua solicitar POST para o endpoint projects/{id}/devices. Isso substituirá o comportamento padrão de adicionar todas as chaves SSH ao servidor e adicionará apenas as chaves SSH especificadas.
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>
]
}'
Parâmetro corporal notável:
"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.
Você também pode adicionar chaves públicas SSH que não são carregadas e gerenciadas pelo Equinix Metal a um servidor usando o parâmetro de corpo "ssh_keys". Essas chaves são adicionadas ao servidor juntamente com quaisquer chaves definidas por "project_ssh_keys", ou além do comportamento padrão de adicionar todas as chaves SSH disponíveis.
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>"
}
]
}'
Parâmetro corporal notável:
"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.
Se nenhuma chave SSH for especificada ("user_ssh_keys", "project_ssh_keys" e "ssh_keys" são listas vazias ou foram omitidas), todas as chaves SSH de usuário, de projeto e de membros da equipe disponíveis serão incluídas. Este é o comportamento padrão.
Provisionamento sem chaves SSH
Para provisionar um servidor sem chaves SSH, você deve incluir explicitamente o parâmetro "no_ssh_keys" em sua solicitar POST para o endpoint 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
}'
Parâmetro corporal notável:
"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.
Pós-provisionamento de chaves SSH do projeto
Para ver quais chaves estão em um servidor provisionado:
- Console
- CLI
- API
Você pode ver quais chaves SSH estão em um servidor específico no console do Equinix Metal, na página de detalhes do servidor, na guia Chaves SSH.

As chaves SSH adicionadas a um servidor durante o provisionamento podem ser recuperadas da CLI com o comando metal device get com a flag --output para especificar a saída JSON. A lista pode ser encontrada no objeto ssh-keys na resposta.
metal device get -i <device_id> -o json
Você também pode obter as chaves SSH de um servidor da API enviando uma solicitar GET para o endpoint /devices/{id}/ssh-keys.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/devices/{id}/ssh-keys"
Você pode adicionar chaves SSH ao seu projeto a qualquer momento. No entanto, as chaves adicionadas aos seus projetos por meio do console ou da API NÃO são adicionadas automaticamente aos servidores. O Equinix Metal não mantém nenhum agente ou processo nos servidores provisionados para realizar essa ação. Para conceder acesso, você precisa adicionar as chaves SSH diretamente ao servidor.
Se você adicionar uma chave que você usar com servidores provisionados, marque a opção para associar a nova chave a servidores específicos ou a todos os servidores ao você -la ao console. Essa opção também está disponível apenas no console Equinix Metal .

Isso não autoriza o acesso SSH diretamente ao servidor, mas permite que a nova chave SSH seja usada ao efetuar login e usar o console SOS/OOB. Você pode então usar o console SOS/OOB para adicionar sua nova chave SSH às chaves autorizadas no servidor.
Removendo chaves SSH do projeto
- Console
- CLI
- API
Você pode remover as chaves SSH do projeto na página Configurações do Projeto, na aba Chaves SSH. Clique em Excluir ao lado da chave que deseja remover. A chave SSH não será adicionada a nenhum servidor que você provisionar futuramente neste projeto.

Você pode remover uma chave SSH da sua conta de usuário com o comando metal ssh-key delete.
metal ssh-key delete --id <SSH-key_UUID>
A chave SSH não será adicionada a nenhum servidor futuro que você provisionar.
Na API, as chaves SSH podem ser removidas da sua conta enviando um DELETE para o endpoint /ssh-keys/{id}.
curl -X DELETE \
-H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/ssh-keys/{id}"
A chave não será mais adicionada aos servidores no momento do provisionamento.
Observação: as chaves removidas da sua conta ou dos seus projetos por meio do console ou da API NÃO são excluídas automaticamente dos servidores. O Equinix Metal não mantém nenhum agente ou processo nos servidores provisionados para executar essa ação. Para revogar o acesso, você precisa remover manualmente as chaves SSH do servidor.