Conectar-se à instância do Linux no Windows usando o Subsistema Windows para Linux - Amazon Elastic Compute Cloud

Conectar-se à instância do Linux no Windows usando o Subsistema Windows para Linux

Depois que iniciar sua instância, você poderá conectá-la e usá-la da forma como usaria um computador bem na sua frente.

As instruções a seguir explicam como você se conecta à sua instância usando uma distribuição o Linux no Subsistema do Windows para Linux (WSL). O WSL pode ser baixado gratuitamente e permite que você execute ferramentas da linha de comando diretamente no Windows, no desktop tradicional do Windows, sem as despesas gerais de uma máquina virtual.

Ao instalar o WSL, você pode usar um ambiente Linux nativo para se conectar às instâncias EC2 do Linux, em vez de usar o PuTTY ou o PuTTYgen. No ambiente Linux, é mais fácil conectar-se às instâncias do Linux porque ele oferece um cliente SSH nativo que você pode usar para se conectar a essas instâncias e alterar as permissões do arquivo de chave .pem. O console do Amazon EC2 fornece o comando SSH para você se conectar com a instância do Linux. Além disso, você pode obter uma saída mais detalhada do comando SSH para solução de problemas. Para obter mais informações, consulte a documentação do Subsistema do Windows para Linux.

nota

Ao instalar o WSL, todos os pré-requisitos e etapas são iguais aos descritos em Conectar-se à instância do Linux usando SSH, e a experiência é exatamente igual a usar um Linux nativo.

Se você receber um erro ao tentar se conectar à instância, consulte Solução de problemas para conectar-se à sua instância.

Pré-requisitos

Antes de você se conectar à sua instância do Linux, preencha os pré-requisitos a seguir.

Verifique se a instância está pronta

Depois de iniciar uma instância, pode demorar alguns minutos para ela ficar pronta e que você possa se conectar a ela. Verifique se a instância passou nas verificações de status. É possível visualizar essas informações na coluna Status check (Verificação de status) na página Instances (Instâncias).

Verifique os pré-requisitos gerais para se conectar à instância

Para localizar o nome DNS público ou o endereço IP da instância e o nome de usuário que você deve usar para se conectar à instância, consulte Pré-requisitos gerais para conectar-se à instância.

Instale o Subsistema Windows para Linux (WSL) e uma distribuição do Linux no computador local

Instale o WSL e uma distribuição do Linux usando as instruções do Guia de instalação do Windows 10. O exemplo fornecido nas instruções instala a distribuição Ubuntu do Linux, mas você pode instalar qualquer distribuição. Você é solicitado a reiniciar o computador para que as alterações sejam implementadas.

Cópia da chave privada do Windows para o WSL

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 você deve usar 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?. Para obter mais informações sobre pares de chaves e instâncias do Windows, consulte Pares de chaves do Amazon EC2 e instâncias do Windows.

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

Conectar-se à instância do Linux usando WSL

Use o procedimento a seguir para se conecta à sua instância do Linux usando o Subsistema do Windows para Linux (WSL). Se você receber um erro ao tentar se conectar à instância, consulte Solução de problemas para conectar-se à sua instância.

Para se conectar à sua instância usando SSH

  1. Em uma janela do terminal, use o comando ssh para se conectar à instância. Especifique o caminho e o nome do arquivo da chave privada (.pem), o nome de usuário da instância e o nome DNS público ou o endereço IPv6 da instância. Para obter mais informações sobre como localizar a chave privada, o nome de usuário da instância e o nome DNS ou o endereço IPv6 de uma instância, consulte Encontrar a chave privada e definir as permissões e Obter informações sobre a instância. Para se conectar à instância, use um dos comandos a seguir.

    • (DNS público) Para se conectar usando o nome DNS público da instância, insira o comando a seguir.

      ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name
    • (IPv6) Como alternativa, se a instância tiver um endereço IPv6, você poderá se conectar à instância usando seu endereço IPv6. Especifique o comando ssh com o caminho até o arquivo de chave privada (.pem), o nome de usuário apropriado e o endereço IPv6.

      ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-IPv6-address

    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)?
  2. (Opcional) Verifique se a impressão digital no alerta de segurança corresponde à impressão digital que você obteve anteriormente em (Opcional) Obter a impressão digital da instância. 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.

  3. Digite yes.

    Você verá uma resposta como a seguinte:

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

Transferir arquivos para instâncias do Linux usando SCP

O protocolo de cópia segura (SCP) é uma das alternativas para transferir arquivos entre seu computador local e uma instância do Linux. Esta seção descreve como transferir arquivos com o SCP. O procedimento é semelhante ao procedimento de conexão a uma instância com o SSH.

Pré-requisitos

  • Verifique os pré-requisitos gerais para transferir arquivos à instância.

    Os pré-requisitos gerais para transferir arquivos para uma instância são os mesmos que os pré-requisitos gerais para se conectar a uma instância. Para mais informações, consulte Pré-requisitos gerais para conectar-se à instância.

  • Instalação de 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.

As etapas de procedimento a seguir guiam você pelo uso de SCP para transferir o arquivo. Se você já tiver se conectado à instância com o SSH e tiver verificado suas impressões digitais, você poderá começar com a etapa que contém o comando SCP (etapa 4).

Para usar o SCP para transferir um arquivo

  1. Transfira um arquivo para sua instância usando o nome DNS público da instância. Por exemplo, se o nome do arquivo de chave privada for my-key-pair, o arquivo a transferir for SampleFile.txt, o nome do usuário for my-instance-user-name e o nome DNS público da instância for my-instance-public-dns-name ou o endereço IPv6 for my-instance-IPv6-address, use os comandos a seguir para copiar o arquivo para o diretório inicial my-instance-user-name.

    • (DNS Público) Para transferir um arquivo usando o nome DNS público da instância, insira o comando a seguir.

      scp -i /path/my-key-pair.pem /path/SampleFile.txt my-instance-user-name@my-instance-public-dns-name:~
    • (IPv6) Como alternativa, se a instância tiver um endereço IPv6, você poderá transferir um arquivo usando o endereço IPv6 da instância. O endereço IPv6 deve vir entre colchetes ([ ]), que devem ser recuados (\).

      scp -i /path/my-key-pair.pem /path/SampleFile.txt my-instance-user-name@\[my-instance-IPv6-address\]:~

    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)?
  2. (Opcional) Verifique se a impressão digital no alerta de segurança corresponde à impressão digital que você obteve anteriormente em (Opcional) Obter a impressão digital da instância. 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.

  3. Digite yes.

    Você verá uma resposta como a seguinte:

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.
    Sending file modes: C0644 20 SampleFile.txt
    Sink: C0644 20 SampleFile.txt
    SampleFile.txt                                100%   20     0.0KB/s   00:00

    Se você receber o erro "bash: scp: command not found", deverá primeiro instalar scp na sua instância do Linux. Para alguns sistemas operacionais, isso está localizado no pacote openssh-clients. Para variantes do Amazon Linux, como a Amazon ECS otimizada por AMI, use o comando para instalar o scp:

    [ec2-user ~]$ sudo yum install -y openssh-clients
  4. Para transferir arquivos na outra direção (de uma instância do Amazon EC2 para o computador local), basta inverter a ordem dos parâmetros do host. Por exemplo, para transferir o arquivo SampleFile.txt da instância do EC2 de volta ao diretório inicial no computador local como SampleFile2.txt, use um dos comandos a seguir no computador local.

    • (DNS Público) Para transferir um arquivo usando o nome DNS público da instância, insira o comando a seguir.

      scp -i /path/my-key-pair.pem my-instance-user-name@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
    • (IPv6) Como alternativa, se a instância tiver um endereço IPv6, para transferir arquivos na outra direção usando o endereço IPv6 da instância, insira o comando a seguir.

      scp -i /path/my-key-pair.pem my-instance-user-name@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~/SampleFile.txt ~/SampleFile2.txt

Desinstalar o WSL

Para obter informações sobre como desinstalar o Subsistema Windows para Linux, consulte Como desinstalar o WSL Distribution?.