');

Como acessar uma máquina virtual Linux via Windows

Como acessar uma máquina virtual Linux via Windows

Introdução

Na maioria das vezes, quando os profissionais de dados precisam acessar outros servidores (que são basicamente outros computadores), eles se deparam com o sistema operacional Linux. No entanto, nem todos possuem as habilidades necessárias para acessar essa máquina, seja por falta de interesse ou de oportunidade.

O sistema operacional mais utilizado no mundo é o Windows, seguido de Mac OS e Linux (em suas diversas distribuições, dentre elas o Ubuntu), como observado na Figura 1, mostrando a contribuição de cada sistema operacional no mercado de valores de 2012 a 2020.

Figura 1 - Sistemas operacionais que se destacam no mercado de ações

null

Retirado de https://www.statista.com/statistics/268237/global-market-share-held-by-operating-systems-since-2009/

Se algum usuário deseja acessar outro servidor via Linux ou Mac e não via Windows, esse processo é relativamente menos trabalhoso via terminal (linha de comando), pois esses dois sistemas possuem uma origem em comum, o sistema operacional Unix, assim ainda conservam semelhanças. No caso do Windows, é outra história. Há várias maneiras de fazer isso, umas necessitando mais permissões e configurações, como no caso do Powershell (um dos modos de acessar linha de comando no windows, junto com o cmd e o bash, que pode ser instalado). Outras abordagens ainda utilizam softwares que facilitam o acesso. Nesse último caso, podemos citar o PuTTY, que será usado no tutorial deste artigo.

A ferramenta PuTTY

PuTTY é um terminal de emulação open source desenvolvido para atuar como um cliente SSH. Ele oferece suporte para autenticação de chave pública melhorando a segurança e oferecendo alguns benefícios, como login automatizado. Em outras palavras, o PuTTY automatiza o acesso a uma máquina virtual utilizando uma chave pública para garantir a segurança do acesso e a integridade dos dados.

O acesso a um servidor linux via PuTTY depende de alguns elementos: o PuTTY, o IP público da máquina que se quer acessar e, em conexão SSH, a host key . No nosso caso, a chave de acesso será obtida a partir da configuração de usuário no servidor da AWS, no serviço EC2.

A AWS (Amazon Web Services) é uma plataforma de serviços de computação em nuvem da Amazon, oferecidos em várias regiões geográficas distribuídas pelo mundo. Os serviços mais conhecidos da AWS são o Amazon EC2 (Amazon Elastic Compute Cloud) que são servidores virtuais na nuvem e o Amazon S3 (Amazon Simple Storage Service) um serviço de armazenamento.

Os procedimentos necessários para acesso serão explicados na próxima seção, de modo bastante detalhado.

Procedimentos

O primeiro passo é a instalação do PuTTY , que pode ser baixado no site. O usuário deve baixar a versão correspondente ao seu sistema operacional (32-bit ou 64-bit).

null

A instalação do PuTTY é bem simples, basta executar o assistente de instalação (wizard) após o download do aplicativo. Não há necessidade de alterar as configurações padrão, basta clicar em NEXT para dar sequência à instalação, escolher a pasta onde irá salvar o PuTTY, e seguir com o NEXT até a tela final.

null

Conversão da chave privada usando o PuTTY gen Convertendo arquivo .pem em arquivo .ppk relativo ao servidor

O arquivo .ppk é um arquivo criptografado obtido a partir de um arquivo .pem, que guarda uma chave de acesso a um servidor. No caso de acesso a vários terminais Linux, Mac, Powershell (via Windows), o arquivo .pem é o utilizado, mas não no caso do PuTTY. Devido a questões de compatibilidade, é necessário converter o arquivo .pem para o formato .ppk utilizando o PuTTYgen, uma ferramenta do PuTTY para converter as chaves para o formato necessário. Esta conversão é explicada na Figura 2 e na Figura 3.

Passo-a-passo para conversão da chave privada

  1. No menu Iniciar, escolha Todos os programas, depois PUTTYgen.
  2. null
  3. Em parâmetros, no Tipo de chave (Type of key to generate) escolha RSA, não é necessário alterar o número de bits.
  4. Clique em Load. Por padrão, PuTTYgen exibe apenas arquivos com a extensão .ppk, escolha exibir arquivos de todos os tipos para encontrar o seu arquivo .pem
  5. null
  6. Selecione seu arquivo .pem para o par de chaves que você especificou ao iniciar sua instância, clique em Abrir.
  7. null

    O PuTTYgen exibe um aviso de que o arquivo .pem foi importado com êxito. 

  8. Para salvar a chave no formato que o PuTTY possa usar, escolha Save private Key. O PuTTYgen exibirá um aviso sobre salvar a chave sem ter uma passphrase definida. Por questões de segurança, recomenda-se criar uma senha para uso do arquivo .ppk, mas para testes isso não é necessário.
  9. Para criar esta senha, preencha os campos. Neste caso, criamos essa senha em Key Passphrase e Confirm passphrase antes de escolher Save private key. 

    null
  10. Abrirá um campo para você especificar o nome para a chave (use o mesmo que você usou para o par de chaves) e escolha salvar. PuTTY irá adicionar automaticamente a extensão de arquivo.ppk.

Sua chave primária agora está no formato correto para ser usada pelo PuTTY para conectar ao servidor.

Configuração do PuTTY

Para a sua configuração, é necessário:

  • IP público do servidor que se deseja acessar
  • arquivo .ppk relativo ao servidor

Obtendo IP público do servidor que se deseja acessar

Neste passo, devemos definir IP e diferenciar IP público de IP privado. O IP (Internet protocol) é um número único que identifica um computador na rede. Um exemplo disponibilizado aqui é 172.31.110.10. Este IP pode ser privado, utilizado dentro de uma rede privada (como na AWS), ou público, disponibilizado para acesso generalizado.

Acesso à máquina virtual

Para acessar uma máquina virtual via PuTTY, dado que ele está configurado, o usuário deve se conectar via IP público e criar um login e uma senha para o terminal linux.

A escolha do tipo de usuário é muito importante. Vamos mencionar dois tipos: root (raiz) e ec2-user (dependendo da versão do linux, o equivalente em termo de permissões de acesso é ‘ubuntu’ ou outro).

O usuário raiz (ou root) tem direitos de administrador, ou seja, pode executar qualquer operação, ainda que os resultados sejam catastróficos. Uma ação que deve ser evitada (a menos que seja a intenção e se saiba exatamente o que está fazendo, obviamente) é deletar uma pasta essencial ao sistema operacional. No caso do Windows, podemos citar a pasta “sys32”.

O usuário ‘ec2-user’ tem todas as permissões básicas, no entanto, não tem permissão para executar ações que podem prejudicar o sistema operacional, logo é recomendável utilizar esse. É importante observar que algumas vezes o sistema pede confirmação, o que evita possíveis erros.

Segue o passo a passo para configurar o PuTTY:

  1. Abra o PuTTY
  2. No painel Category, escolha Session e preencha o campo Host name com o endereço do IP, verifique se a porta é 22, e em Connection type, selecione SSH.
  3. null
  4. No painel Category, expanda Connection, expanda SSH e selecione Auth. Em Auth, clicar em Browse para selecionar o arquivo.ppk que foi gerado a partir do arquivo.pem e clique em Open.
  5. null

    OBS: Se é a primeira vez que se faz conexão no servidor, o PuTTY exibe uma mensagem de alerta de segurança perguntando se você confia no host ao qual está se conectando.

  6. Escolha Yes. Uma janela será aberta e a conexão é iniciada.
  7. null
  8. Insira o nome de usuário padrão para sua AMI: ec2-user
  9. null

    Observe que na aba do console aparece o ip inserido no host name de configuração PuTTY.

    O uso desse usuário em vez do usuário root (raiz) evita acidentes caso um comando perigoso seja usado, pois o programa ou não te permite deletar o que é crítico ou te pede confirmação. Em contraste, no usuário root, tudo pode ser feito, até o que é prejudicial, algumas vezes, sem pedir confirmação ou usar sudo (ver lista de comandos no fim).

    Nota: Se o arquivo .ppk tiver senha, vai aparecer a seguinte tela para digitá-la:

    null
  10. Feito o login você estará pronto para começar a usar
  11. null

Observações adicionais

Uma vez conectado ao servidor, pode-se executar desde comandos básicos, como verificar em que pasta (diretório) você se encontra, até operações mais complexas, como extrair e processar dados de determinada base ou baixar determinados elementos de um website (excluindo outros).

Algumas vezes podem ocorrer problemas ou erros de conexão. Os erros mais comuns são: limite de tempo de conexão atingido, erro ao carregar a chave privada, chave não reconhecida pelo servidor, etc. Nestes casos, verifique parâmetros de configuração, nomes de chave, IP, formato da chave (se é um arquivo do tipo .ppk), para mais detalhes acesse o link.

No mais, deixamos claro que esta não é a única forma de acessar uma máquina virtual Linux, porém pensando no sistema operacional Windows, é uma forma bastante didática que não depende de conhecimentos avançados de computação.