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
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.
Sumário
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
-
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
.pemmy-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
.pemmy-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)?
-
-
(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.
-
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
-
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 forSampleFile.txt
, o nome do usuário formy-instance-user-name
e o nome DNS público da instância formy-instance-public-dns-name
ou o endereço IPv6 formy-instance-IPv6-address
, use os comandos a seguir para copiar o arquivo para o diretório inicialmy-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)?
-
-
(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.
-
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
-
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 comoSampleFile2.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
.pemmy-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
.pemmy-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?