

# Conectar-se à instância do Linux usando SSH
<a name="connect-to-linux-instance"></a>

Há várias maneiras de se conectar à instância do Linux usando SSH. Algumas maneiras dependem do sistema operacional do computador local do qual você se conecta. Outros métodos são baseados em navegador, como o EC2 Instance Connect ou o Gerenciador de Sessões do AWS Systems Manager, que podem ser usados em qualquer computador. Você pode usar o SSH para se conectar a uma instância do Linux e executar comandos ou usar o SSH para transferir arquivos entre o computador local e a instância.

Antes de você se conectar à instância do Linux usando o SSH, conclua os seguintes pré-requisitos:
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

Em seguida, escolha uma das opções a seguir para se conectar à instância do Linux usando o SSH.
+ [Conectar-se usando um cliente SSH](connect-linux-inst-ssh.md)
+ [Conectar-se usando PuTTY](connect-linux-inst-from-windows.md) 
+ [Transferir arquivos usando SCP](linux-file-transfer-scp.md)

Se você não conseguir se conectar à instância e precisar de ajuda para solucionar o problema, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

# Conectar-se à instância do Linux usando um cliente SSH
<a name="connect-linux-inst-ssh"></a>

Use o Secure Shell (SSH) para se conectar à instância do Linux no computador local. Para obter mais informações sobre outras opções, consulte [Conexão com a instância do EC2](connect.md).

**nota**  
Se você receber um erro ao tentar se conectar à instância, certifique-se de que a instância atenda a todos os [Pré-requisitos de conexão via SSH](#ssh-prereqs-linux-from-linux-macos). Se ela atender a todos os pré-requisitos e, mesmo assim, você não conseguir se conectar à instância do Linux, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Topics**
+ [Pré-requisitos de conexão via SSH](#ssh-prereqs-linux-from-linux-macos)
+ [Conectar-se à instância do Linux usando um cliente SSH](#connect-linux-inst-sshClient)

## Pré-requisitos de conexão via SSH
<a name="ssh-prereqs-linux-from-linux-macos"></a>

Antes de você se conectar à instância do Linux usando SSH, conclua as tarefas a seguir.

**Conclua os pré-requisitos gerais.**  
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

**Permita tráfego SSH de entrada do seu endereço IP.**  
Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

**Instale um cliente SSH no computador local (se necessário).**  
O computador local pode ter um cliente SSH instalado por padrão. Você pode verificar isso ao inserir o comando a seguir em uma janela de terminal. Se o computador não reconhecer o comando, instale um cliente SSH.  

```
ssh
```
A seguir, são mostradas algumas das possíveis opções para Windows. Se o computador executa um sistema operacional diferente, consulte a documentação desse sistema operacional para conhecer as opções do cliente SSH.

## Instalar o OpenSSL no Windows
<a name="openssh"></a>

Depois de instalar o OpenSSH no Windows, você pode se conectar à instância do Linux pelo computador Windows usando SSH. Antes de começar, certifique-se de cumprir os requisitos a seguir.

**Versão do Windows**  
A versão do Windows no computador deve ser Windows Server 2019 ou posterior.  
Para versões anteriores do Windows, baixe e instale o [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/wiki).

**Requisitos do PowerShell**  
Para instalar o OpenSSH no sistema operacional Windows usando o PowerShell, é necessário executar o PowerShell versão 5.1 ou posterior e sua conta deve ser membro do grupo de administradores do sistema. Execute o comando `$PSVersionTable.PSVersion` no PowerShell para verificar a versão do PowerShell.  
Para verificar se você é membro do grupo de administradores do sistema, execute o seguinte comando do PowerShell:  

```
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
```
Se você for membro do grupo de administradores do sistema, a saída será `True`.

Para instalar o OpenSSH para Windows usando o PowerShell, execute o comando do PowerShell a seguir.

```
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

O seguinte é um exemplo de saída.

```
Path          :
Online        : True
RestartNeeded : False
```

Para instalar o OpenSSH do Windows usando o PowerShell, execute o comando do PowerShell a seguir.

```
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

O seguinte é um exemplo de saída.

```
Path          :
Online        : True
RestartNeeded : True
```

## Instalar o Windows Subsystem para Linux (WSL)
<a name="WSL"></a>

Depois de instalar o WSL no Windows, você pode se conectar à instância do Linux pelo computador Windows usando ferramentas da linha de comando do Linux, como um cliente SSH.

Siga as instruções em [Instalar o Windows Subsystem para Linux na instância do Windows do EC2](install-wsl-on-ec2-windows-instance.md). Se você seguir as instruções no guia de instalação da Microsoft, eles instalarão a distribuição Ubuntu do Linux. Você pode instalar uma distribuição do Linux diferente, se preferir.

Em uma janela de terminal do WSL, copie o arquivo `.pem` (para o par de chaves que você especificou ao executar a instância) do Windows para o WSL. Observe o caminho totalmente qualificado para o arquivo `.pem` no WSL, que use para se conectar à sua instância. Para obter informações sobre como especificar o caminho para o disco rígido do Windows, consulte [How do I access my C drive?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-access-my-c--drive-).

```
cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem
```

Para obter informações sobre como desinstalar o Subsistema Windows para Linux, consulte [Como desinstalar o WSL Distribution?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-uninstall-a-wsl-distribution-).

## Conectar-se à instância do Linux usando um cliente SSH
<a name="connect-linux-inst-sshClient"></a>

Use o procedimento a seguir para se conectar à sua Instância do Linux usando um cliente SSH.

**Conectar-se à instância usando um cliente SSH**

1. Abra uma janela de terminal no computador.

1. Use o comando **ssh** para se conectar à instância. Você precisa dos detalhes da instância que você coletou como parte dos pré-requisitos. Por exemplo, você precisa do local da chave privada (arquivo `.pem`), do nome de usuário e do nome DNS público ou do endereço IPv6. Veja a seguir exemplos de comando.
   + (DNS público) Para usar o nome DNS público, insira o comando a seguir.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
     ```
   + (IPv6) Como alternativa, se a instância tiver um endereço IPv6, insira o comando a seguir para usar o endereço IPv6.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@2001:db8::1234:5678:1.2.3.4
     ```

   O seguinte é um exemplo de resposta.

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
   ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
   Are you sure you want to continue connecting (yes/no)?
   ```

1. (Opcional) Verifique se a impressão digital no alerta de segurança corresponde à impressão digital. Caso essas impressões digitais não correspondam, alguém pode estar tentando um ataque man-in-the-middle. Se corresponderem, continue para a próxima etapa. Para obter mais informações, consulte [Get the instance fingerprint](connection-prereqs-general.md#connection-prereqs-fingerprint).

1. Digite **yes**.

   Você verá uma resposta como a seguinte:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
   ```

# Conectar-se à instância do Linux usando PuTTY
<a name="connect-linux-inst-from-windows"></a>

Você pode se conectar a uma instância do Linux usando o PuTTY, um cliente SSH gratuito para Windows.

Se você estiver executando o Windows Server 2019 ou posterior, recomendamos que você use o OpenSSH, uma ferramenta de conectividade de código aberto para login remoto usando o protocolo SSH.

**nota**  
Se você receber um erro ao tentar se conectar à instância, certifique-se de que a instância atenda a todos os [Pré-requisitos de conexão via SSH](connect-linux-inst-ssh.md#ssh-prereqs-linux-from-linux-macos). Se ela atender a todos os pré-requisitos e, mesmo assim, você não conseguir se conectar à instância do Linux, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Topics**
+ [Pré-requisitos](#putty-prereqs)
+ [Converta a chave privada usando o PuTTYgen](#putty-private-key)
+ [Conecte-se à sua instância do Linux](#putty-ssh)

## Pré-requisitos
<a name="putty-prereqs"></a>

Antes de você se conectar à instância do Linux usando o PuTTY, conclua as tarefas a seguir.

**Conclua os pré-requisitos gerais.**  
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

**Permita tráfego SSH de entrada do seu endereço IP.**  
Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

**Instale o PuTTY no computador local (se necessário).**  
Faça download e instale o PuTTY pela [página de download do PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/). Se já houver uma versão anterior do PuTTY instalada, recomendamos fazer download da versão mais recente. Instale o pacote inteiro.

**Converta a chave privada no formato PPK usando PuTTYgen.**  
Você deve especificar a chave privada do par de chaves que especificou quando iniciou a instância. Se você tiver criado a chave privada no formato .pem, será necessário convertê-la em um arquivo PPK para usá-la com o PuTTY. Localize a chave privada (arquivo .pem) e siga as etapas em [Converta a chave privada usando o PuTTYgen](#putty-private-key).

## (Opcional) Converter a chave privada usando o PuTTYgen
<a name="putty-private-key"></a>

O PuTTY não é originalmente compatível com o formato PEM para chaves SSH. O PuTTY fornece uma ferramenta chamada PuTTYgen, que converte as chaves PEM para o formato PPK necessário para PuTTY. Se você tiver criado a chave usando o formato PEM em vez do formato PPK, será necessário converter a chave privada (arquivo .pem) neste formato (arquivo .ppk) para usá-la com o PuTTY.

**Converter a chave privada do formato PEM para o formato PPK**

1. No menu **Start** (Iniciar), selecione **All Programs** (Todos os programas), **PuTTY**, **PuTTYgen**.

1. Em **Tipo de chave a ser gerada**, escolha **RSA**. Se a sua versão de PuTTYgen não inclui esta opção, escolha **SSH-2 RSA**.  
![\[A chave RSA no PuTTYgen.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/puttygen-key-type.png)

1. Escolha **Load**. Por padrão, o PuTTYgen exibe somente arquivos com a extensão `.ppk`. Para localizar o arquivo `.pem`, escolha a opção para exibir arquivos de todos os tipos.  
![\[Selecione todos os tipos de arquivo.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/puttygen-load-key.png)

1. Selecione o arquivo `.pem` para o par de chaves que você especificou ao executar a instância e selecione **Open (Abrir)**. A PuTTYgen exibe um aviso de que o arquivo `.pem` foi importado com êxito. Escolha **OK**.

1. Escolha **Save private key (Salvar chave privada)** para salvar a chave no formato PuTTY. A PuTTYgen exibe um aviso sobre salvar a chave sem uma senha. Escolha **Sim**.
**nota**  
Uma senha em uma chave privada é uma camada extra de proteção. Mesmo se a chave privada for descoberta, ela não pode ser usada sem a senha. A desvantagem de se usar uma senha é que a automação se torna mais difícil porque a intervenção humana é necessária para fazer login em uma instância, ou para copiar arquivos a uma instância.

1. Especifique o mesmo nome da chave usado para o par de chaves (por exemplo, `key-pair-name`) e escolha **Save (Salvar)**. O PuTTY adiciona automaticamente a extensão de arquivo `.ppk`. 

Sua chave privada está agora no formato correto para uso com o PuTTY. Agora é possível conectar a sua instância usando o cliente SSH do PuTTY.

## Conecte-se à sua instância do Linux
<a name="putty-ssh"></a>

Use o procedimento a seguir para se conectar à sua Instância do Linux usando o PuTTY. Você precisa do arquivo `.ppk` que criou para sua chave privada. Para obter mais informações, consulte [(Opcional) Converter a chave privada usando o PuTTYgen](#putty-private-key) na seção anterior. Se você receber um erro ao tentar se conectar à instância, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Última versão testada**: PuTTY .78

**Para se conectar à instância usando PuTTY**

1. Inicie o PuTTY (no menu **Iniciar**, pesquise **PuTTY** e escolha **Abrir**).

1. No painel **Categoria**, selecione **Sessão** e preencha os seguintes campos:

   1. Na caixa **Host Name (Nome do host)**, execute uma das ações a seguir:
      + (DNS Público) Para se conectar usando o nome DNS público da instância, insira *instance-user-name*@*instance-public-dns-name*.
      + (IPv6) Como alternativa, se a instância tiver um endereço IPv6, para se conectar usando o endereço IPv6 da instância, insira *instance-user-name*@*2001:db8::1234:5678:1.2.3.4*.

      Para obter informações sobre como obter o nome de usuário da instância e o nome de DNS público ou o endereço IPv6 da instância, consulte [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).

   1. Verifique se o valor do **Port** é 22.

   1. Em **Tipo de conexão**, selecione **SSH**.  
![\[Configuração do PuTTY - Sessão.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/putty-session-config.png)

1. (Opcional) É possível configurar o PuTTY para enviar automaticamente dados "keepalive" em intervalos regulares para manter a sessão ativa. Isso é útil para evitar a desconexão da instância por inatividade da sessão. No painel **Categoria**, escolha **Conexão** e insira o intervalo necessário no campo **Segundos entre keepalives**. Por exemplo, se a sessão desconectar após 10 minutos de inatividade, insira 180 para configurar o PuTTY para enviar dados keepalive a cada 3 minutos.

1. No painel **Categoria**, expanda **Conexão**, **SSH** e **Auth**. Escolha **Credenciais**. 

1. Ao lado de **Arquivo de chave privada para autenticação**, escolha **Procurar**. Na caixa de diálogo **Selecionar arquivo de chave privada**, selecione o arquivo `.ppk` que você gerou para seu par de chaves. Clique duas vezes no arquivo ou escolha **Abrir** na caixa de diálogo **Selecionar arquivo de chave privada**.

1. (Opcional) Se você planeja se conectar a esta instância novamente após esta sessão, poderá salvar as informações para uso futuro. No painel **Categoria**, escolha **Sessão**. Insira um nome para a sessão em **Sessõe salvas** e, em seguida, escolha **Salvar**.

1. Para se conectar à instância, escolha **Abrir**.

1. Se essa for a primeira vez você se conectou a esta instância, o PuTTY exibirá uma caixa de diálogo de alerta de segurança perguntando se você confia no host ao qual está se conectando.

   1. (Opcional) Verifique se a impressão digital na caixa de diálogo do alerta de segurança corresponde à impressão digital que você obteve anteriormente em [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint). Caso essas impressões digitais não correspondam, alguém pode estar tentando um ataque "man-in-the-middle". Se corresponderem, continue para a próxima etapa.

   1. Escolha **Accept (Aceitar)**. Uma janela se abrirá e você estará conectado à sua instância.
**nota**  
Se você especificou uma senha ao converter sua chave privada em formato PuTTY, forneça essa senha ao efetuar o login na instância.

Se você receber um erro ao tentar se conectar à instância, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

# Transferir arquivos para uma instância do Linux usando SCP
<a name="linux-file-transfer-scp"></a>

O protocolo de cópia segura (SCP) é uma das alternativas para transferir arquivos entre seu computador local e uma instância do Linux. O SCP é uma boa opção para operações simples, como cópias de arquivos únicas. O SCP protege as transferências de arquivos usando o mesmo arquivo .pem que você usa para se conectar a uma instância usando SSH. Se você precisa manter os arquivos sincronizados, ou se os arquivos são grandes, **rsync** é mais rápido e eficiente do que o SCP. Por segurança, use **rsync** via SSH, pois, por padrão, **rsync** transfere dados usando texto simples.

Antes de você se conectar à instância do Linux usando o SCP, conclua as seguintes tarefas:
+ **Conclua os pré-requisitos gerais.**
  + Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
  + [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
  + [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
  + [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).
+ **Permita tráfego SSH de entrada do seu endereço IP.**

  Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).
+ **Instale um cliente SCP.**

  A maioria dos computadores com Linux, Unix e Apple incluem um cliente SCP por padrão. Se seu não incluir, o projeto OpenSSH oferece implantação grátis do pacote completo das ferramentas SSH, inclusive um cliente SCP. Para obter mais informações, consulte [https://www.openssh.com](https://www.openssh.com).

O procedimento a seguir acompanha o uso do SCP para transferir um arquivo usando o nome DNS público da instância ou o endereço IPv6 se sua instância tiver um.

**Para usar o SCP para transferir arquivos entre o computador e a sua instância**

1. Determine a localização do arquivo de origem no seu computador e o caminho de destino na instância. Nos exemplos a seguir, o nome do arquivo de chave privada é `key-pair-name.pem`, o arquivo a ser transferido é `my-file.txt`, o nome de usuário da instância é ec2-user, o nome de DNS público da instância é `instance-public-dns-name` e o endereço IPv6 da instância é `2001:db8::1234:5678:1.2.3.4`.
   + (DNS público) Para transferir um arquivo para o destino na instância, insira o seguinte comando do seu computador.

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@instance-public-dns-name:path/
     ```
   + (IPv6) Para transferir um arquivo para o destino na instância, se ela tiver um endereço IPv6, insira o seguinte comando no seu computador. O endereço IPv6 deve vir entre colchetes (`[ ]`), que devem ser recuados (`\`).

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/
     ```

1. Se ainda não tiver conectado à instância usando SSH, você verá uma resposta como a seguinte:

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
   can't be established.
   RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
   Are you sure you want to continue connecting (yes/no)?
   ```

   (Opcional) Também é possível verificar se a impressão digital no alerta de segurança corresponde à impressão digital da instância. Para obter mais informações, consulte [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

   Insira **yes**.

1. Se a transferência for bem-sucedida, a resposta será semelhante à seguinte:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
   to the list of known hosts.
   my-file.txt                                100%   480     24.4KB/s   00:00
   ```

1. Para transferir um arquivo na outra direção (de uma instância do Amazon EC2 para o seu computador), basta inverter a ordem dos parâmetros do host. Por exemplo, é possível transferir o `my-file.txt` da instância do EC2 para um destino no seu computador local `my-file2.txt`, conforme exibido nos exemplos a seguir.
   + (DNS Público) Para transferir um arquivo para um destino no seu computador, insira o seguinte comando do seu computador.

     ```
     scp -i /path/key-pair-name.pem ec2-user@instance-public-dns-name:path/my-file.txt path/my-file2.txt
     ```
   + (IPv6) Para transferir um arquivo para um destino no computador se a instância tiver um endereço IPv6, insira o seguinte comando do seu computador. O endereço IPv6 deve vir entre colchetes (`[ ]`), que devem ser recuados (`\`).

     ```
     scp -i /path/key-pair-name.pem ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/my-file.txt path/my-file2.txt
     ```

# Gerenciar usuários do sistema na instância do Linux do Amazon EC2
<a name="managing-users"></a>

Cada tipo de instância do Linux é iniciada com um usuário padrão do sistema Linux. Você pode adicionar e excluir usuários da instância.

Para o usuário padrão, o [nome de usuário padrão](#ami-default-user-names) é determinado pela AMI especificada quando você executou a instância. 

**nota**  
Por padrão, a autenticação por senha e o login raiz estão desabilitados e o sudo está habilitado. Para fazer login na instância, você deve criar um par de chaves. Para obter mais informações sobre login, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).  
Você pode permitir a autenticação por senha e o login raiz na instância. Para obter mais informações, consulte a documentação do seu sistema operacional.

**nota**  
Os usuários do sistema Linux não devem ser confundidos com os usuários do IAM. Para obter mais informações, consulte [Usuários IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_iam-users) no *Manual do usuário IAM*.

**Topics**
+ [Nomes de usuário padrão](#ami-default-user-names)
+ [Considerações](#add-user-best-practice)
+ [Criar um usuário](#create-user-account)
+ [Remover um usuário](#delete-user-account)

## Nomes de usuário padrão
<a name="ami-default-user-names"></a>

O nome de usuário padrão para a instância do EC2 é determinado pela AMI especificada quando você executou a instância.

Os nomes de usuário padrão são:
+ Para uma AMI do Amazon Linux, o nome do usuário é `ec2-user`.
+ Para uma AMI do CentOS, o nome do usuário é `centos` ou `ec2-user`.
+ Para uma AMI do Debian, o nome do usuário é `admin`.
+ Para uma AMI do Fedora, o nome do usuário é `fedora` ou `ec2-user`.
+ Para uma AMI FreeBSD, o nome do usuário é `ec2-user`.
+ Para uma AMI do RHEL, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI do SUSE, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI Ubuntu, o nome de usuário é `ubuntu`.
+ Para uma AMI do Oracle, o nome do usuário é `ec2-user`.
+ Para uma AMI do Bitnami, o nome do usuário é `bitnami`.

**nota**  
Para encontrar o nome de usuário padrão para outras distribuições do Linux, verifique com o fornecedor da AMI.

## Considerações
<a name="add-user-best-practice"></a>

O uso do usuário padrão é adequado para muitas aplicações. Porém, você pode escolher adicionar usuários para que as pessoas possam ter seus próprios arquivos e espaços de trabalho. Além disso, a criação usuários para novos usuários é muito mais segura do que conceder a vários usuários (possivelmente inexperientes) acesso ao usuário padrão, pois essa conta pode causar muitos danos a um sistema quando usada de modo inadequado. Para obter mais informações, consulte [Dicas para proteger sua instância do EC2](https://aws.amazon.com/articles/tips-for-securing-your-ec2-instance/).

Para permitir aos usuários acesso SSH à sua instância do EC2 usando um usuário do sistema Linux, é necessário compartilhar a chave SSH com o usuário. Uma outra opção é usar o EC2 Instance Connect para fornecer acesso aos usuários sem precisar compartilhar e gerenciar as chaves SSH. Para obter mais informações, consulte [Conecte-se à sua instância Linux usando um endereço IP público e o EC2 Instance Connect](connect-linux-inst-eic.md).

## Criar um usuário
<a name="create-user-account"></a>

Primeiro crie o usuário e, depois, adicione a chave pública SSH que permitirá que ele se conecte e faça login na instância.

**Importante**  
Na Etapa 1 desse procedimento, você cria um novo par de chaves. Como o par de chaves funciona como uma senha, é fundamental lidar com ele de forma segura. Caso crie um par de chaves para um usuário, você deverá garantir que a chave privada seja enviada para ele com segurança. Como alternativa, o usuário pode concluir as Etapas 1 e 2 criando seu próprio par de chaves, mantendo a chave privada segura em sua máquina e enviando a chave pública para concluir o procedimento da Etapa 3.

**Para criar um usuário**

1. [Crie um novo par de chaves](create-key-pairs.md#having-ec2-create-your-key-pair). É necessário fornecer o arquivo `.pem` ao usuário para o qual você está criando o usuário. Ele deve usar esse arquivo para se conectar à instância.

1. Recupere a chave pública do par de chaves criado na etapa anterior.

   ```
   $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem
   ```

   O comando retorna a chave pública, como mostrado no exemplo a seguir.

   ```
   ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
   ```

1. Conecte-se à instância.

1. Use o comando **adduser** para criar o usuário e adicioná-lo ao sistema (com uma entrada no arquivo `/etc/passwd`). O comando também cria um grupo e um diretório inicial para o usuário. Neste exemplo de configuração, o usuário é deniminado `newuser`.
   + AL2023 e Amazon Linux 2

     Com o AL2023 e o Amazon Linux 2, o usuário é criado com a autenticação por senha desabilitada por padrão.

     ```
     [ec2-user ~]$ sudo adduser newuser
     ```
   + Ubuntu

     Inclua o parâmetro `--disabled-password` para criar o usuário com autenticação por senha desabilitada.

     ```
     [ubuntu ~]$ sudo adduser newuser --disabled-password
     ```

1. Mude para o novo usuário, de modo que o diretório e o arquivo criados pertençam aos proprietários adequados.

   ```
   [ec2-user ~]$ sudo su - newuser
   ```

   O prompt é alterado de `ec2-user` para `newuser` para indicar que você mudou a sessão do shell para o novo usuário.

1. Adicione a chave pública SSH ao usuário. Primeiro, crie um diretório no diretório inicial do usuário para o arquivo de chave SSH. Depois disso, crie o arquivo de chave e, por fim, cole a chave pública no arquivo de chave, conforme descrito nas etapas secundárias a seguir.

   1. Crie um diretório `.ssh` no diretório inicial `newuser` e altere suas permissões de arquivos para `700` (somente o proprietário pode ler, gravar ou abrir o diretório).

      ```
      [newuser ~]$ mkdir .ssh
      ```

      ```
      [newuser ~]$ chmod 700 .ssh
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. Crie um arquivo chamado `authorized_keys` no diretório `.ssh` e altere suas permissões de arquivos para `600` (somente o proprietário pode ler ou gravar no arquivo).

      ```
      [newuser ~]$ touch .ssh/authorized_keys
      ```

      ```
      [newuser ~]$ chmod 600 .ssh/authorized_keys
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. <a name="edit_auth_keys"></a>Abra o arquivo `authorized_keys` usando seu editor de texto favorito (como **vim** ou **nano**).

      ```
      [newuser ~]$ nano .ssh/authorized_keys
      ```

      Cole a chave pública recuperada na **Etapa 2** no arquivo e salve as alterações.
**Importante**  
Cole a chave pública em uma linha contínua. A chave pública não deve ser dividida em várias linhas.

      Agora, o usuário deve poder fazer login no usuário `newuser` na instância usando a chave privada correspondente à chave pública adicionada ao arquivo `authorized_keys`. Para obter mais informações sobre os diferentes métodos de conexão a uma instância do Linux, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).

## Remover um usuário
<a name="delete-user-account"></a>

Se um usuário não for mais necessário, será possível removê-lo para que não possa mais ser usado.

Use o comando **userdel** para remover o usuário do sistema. Quando você especifica o parâmetro `-r`, o diretório inicial e o spool de e-mail do usuário são excluídos. Para manter o diretório inicial e o spool de e-mail do usuário, omita o parâmetro `-r`.

```
[ec2-user ~]$ sudo userdel -r olduser
```