

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Alterar chaves SSH
<a name="keyrotation"></a>

Recomendamos as melhores práticas de segurança para mudar as chaves SSH. Geralmente, essa mudança é especificada como parte de uma política de segurança e implementada de forma automática. Dependendo do nível de segurança, para uma comunicação altamente confidencial, um par de chaves SSH pode ser usado somente uma vez. Isso elimina qualquer risco devido a chaves armazenadas. No entanto, é muito mais comum armazenar credenciais SSH por um período e definir um intervalo que não sobrecarregue excessivamente os usuários. É comum um intervalo de tempo de três meses.

**nota**  
Para rotação automatizada de chaves SSH usando infraestrutura como código, consulte[Módulos Transfer Family Terraform](terraform.md).

Há dois métodos usados para executar a mudança de chaves SSH:
+ No console, é possível carregar uma nova chave pública SSH e excluir uma chave pública SSH existente.
+ Usando a API, você pode atualizar os usuários existentes usando a [DeleteSshPublicKey](https://docs.aws.amazon.com//transfer/latest/APIReference/API_DeleteSshPublicKey.html)API para excluir a chave pública Secure Shell (SSH) de um usuário e a [ImportSshPublicKey](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ImportSshPublicKey.html)API para adicionar uma nova chave pública Secure Shell (SSH) à conta do usuário.

------
#### [ Console ]

**Para executar uma rotação de teclas no console**

1. Abra o AWS Transfer Family console em [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Navegue até a página **Servidores**.

1. Escolha o identificador na coluna **ID do servidor** para ver a página **Configuração do servidor**.

1. Em **Usuários**, marque a caixa de seleção do usuário cuja chave pública SSH você deseja girar, escolha **Ações** e escolha **Adicionar chave** para ver a página **Adicionar chave**.

   or

   Escolha o nome de usuário para ver a página de **Detalhes do usuário** e, em seguida, escolha **Adicionar chave pública SSH** para ver a página **Adicionar chave**.

1. Insira a nova chave pública SSH e escolha **Adicionar chave**.
**Importante**  
O formato da chave pública SSH depende do tipo da chave gerada por você.  
Para chaves RSA, o formato é `ssh-rsa {{string}}`.
Para chaves ED25519, o formato é `ssh-ed25519 {{string}}`.
Para chaves ECDSA, o tipo de chave começa com `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384` ou `ecdsa-sha2-nistp521`, dependendo do tamanho da chave que você gerou. A string inicial é então seguida por `{{string}}`, semelhante aos outros tipos de chave.

   Você retorna à página **Detalhes do usuário** e a nova chave pública SSH que você acabou de inserir será exibida na seção de **chaves públicas SSH**.

1. Marque a caixa de seleção das chaves antigas que deseja excluir e selecione **Excluir**.

1. Confirme a operação de exclusão inserindo a palavra `delete` e selecione **Excluir**.

------
#### [ API ]

**Para realizar uma rotação de chaves usando a API**

1. Nos sistemas operacionais macOS, Linux ou Unix, abra um terminal de comando.

1.  Recupere a chave SSH que você deseja excluir digitando o comando a seguir. Para usar esse comando, substitua `{{serverID}}` pela ID do servidor do seu servidor Transfer Family e substitua `{{username}}` pelo seu nome de usuário.

   ```
   aws transfer describe-user --server-id='{{serverID}}' --user-name='{{username}}'
   ```

   O comando retorna detalhes sobre o usuário. Copie o conteúdo do campo `"SshPublicKeyId":`. Você precisará inserir esse valor posteriormente neste procedimento. 

   ```
   "SshPublicKeys": [ { "SshPublicKeyBody": "{{public-key}}", "SshPublicKeyId": "{{keyID}}",
      "DateImported": 1621969331.072 } ],
   ```

1.  Em seguida, importe uma nova chave SSH para seu usuário. No prompt, insira o comando a seguir. Para usar esse comando, substitua `{{serverID}}` pela ID do servidor do seu servidor Transfer Family, substitua `{{username}}` pelo seu nome de usuário e substitua `{{public-key}}` pela impressão digital da sua nova chave pública. 

   ```
   aws transfer import-ssh-public-key --server-id='{{serverID}}' --user-name='{{username}}'
      --ssh-public-key-body='{{public-key}}'
   ```

   ``Se o comando for bem-sucedido, nenhuma saída será retornada.

1.  Por fim, exclua chave antiga executando o comando a seguir. Para usar esse comando, substitua `{{serverID}}` pela ID do servidor do seu servidor Transfer Family, substitua `{{username}}` pelo seu nome de usuário e substitua `{{keyID-from-step-2}}` pelo valor da ID da chave que você copiou na etapa 2 deste procedimento 

   ```
   aws transfer delete-ssh-public-key --server-id='{{serverID}}' --user-name='{{username}}'
      --ssh-public-key-id='{{keyID-from-step-2}}'
   ```

1. (Opcional) Para confirmar que a chave antiga não existe mais, repita a etapa 2.

------