quinta-feira, agosto 30, 2018

VPS Google Compute Engine - Acesso SSH


O acesso de SSH utilizando a ferramenta de acesso via navegador que o Google disponibiliza é prático em diversos casos, mas as vezes um acesso utilizando um outro cliente SSH é necessário.
Para isto você precisa:
a) Uma máquina no VPS no Google Compute Engine com Linux instalada.  VPSGrátis no Compute Engine - Google Cloud Plataform
b) Um cliente SSH. Para Windows você pode utilizar o PuTTY. Já o Linux e o OSX (iMac) já possuem o cliente SSH nativos.  
c) Um gerador de chaves SSH. PUTTYGEN par Windows ou nativamente ssh-keygen para Linux e OSX.

1.     Gerando as chaves privadas e públicas necessárias

1.1 - Windows
a) Se você baixou o pacote de instalação completa do PuTTY para Windows, você terá instalado também o PuTTYgen. Vá até o Menu Iniciar → Todos os Programas → PuTTY → PuTTYgen

b) Criando um novo par de chaves (KEY PAR) para autenticação
Conforme a imagem anterior escolha os seguintes parâmetros:
Type of key to generate: RSA
Number of bits: 2048 → É suficiente para a maioria das pessoas.
c) Clique no botão “Generate” e comece a movimentar o mouse dentro da janela. Isto é usado para criar dados randômicos para a geração das chaves.
d) Se tudo deu certo você verá a sua chave pública na janela. 


e) É interessante que você crie uma senha para o arquivo da sua chave privada, assim você pode digitar sua senha no campo “Key passphrase” e confirmar no campo “Confirm passphrase”. Em seguida clique nos botões “Save public key” e “Save private key”

1.2 - Linux / OSX

a) Abra um terminal e digite ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
b) As chaves serão gravadas no diretório indicado pelo comando.

2.   Acesso ao Google Cloud Shell

2.1 - No Dashboard do Google Cloud Plataform do Compute Engine, https://console.cloud.google.com/compute, clique no botão para abertura do console do Google Cloud Shell



2.2 - O terminal Cloud Shell será apresentado.




3.   Ativando ou desativando o login do sistema operacional

Existem outras maneiras de permitir o acesso SSH à sua máquina virtual VPS hospedada nos servidores do Google, mas esta maneira foi a que funcionou melhor no meu caso. 

3.1 - Dento do Cloud Shell, digite 

gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE

Você pode escolher também desativar este tipo de login alterando a chave enable-oslogin para FALSE.
É bom lembrar que todas as instâncias, todas as máquinas virtuais, utilizam as mesmas configurações de metadados. 
Não testei ainda, mas para incluir o metadado para apenas uma instância, use o comando:
gcloud compute instances add-metadata [INSTANCE_NAME] --metadata enable-oslogin=TRUE
Onde [INSTANCE_NAME] é o nome da sua VPS.

4.   Enviando a sua chave pública para o Cloud Shell

Como você irá precisar da sua chave pública no Cloud Shell para ser enviado para a sua VPS, faça o seguinte:

4.1  - Digite no terminal do Cloud Shell o comando→  nano id-pub, para abrir o mini editor de texto Nano.

user@projeto-xyz:~$ nano id-pub


4.2 - Copie o texto da sua chave pública no Putty (Windows) ou direto do terminal Linux ou OSX. Cole o texto dentro do terminal do Cloud Shell onde você está rodando o mini editor de texto Nano.

4.3 - Com o texto colado, pressione as teclas CTRL+X para sair do mini editor e escolha Y para gravar o arquivo.cat
4.4 - Para verificar se o arquivo foi gravado, digite o comando →  cat id-pub

5.   Enviando a sua chave pública para sua instância VPS.

5.1 - Com o terminal aberto use o seguinte comando para enviar a chave para o seu servidor VPS.

gcloud compute os-login ssh-keys add --key-file id-pub

5.2 - Se o comando funcionou, você irá ver na sua tela a lista de todas as chaves públicas que estão nos seus servidores.

5.3 - Você também pode usar o comando a seguir para verificar qual é o nome de usuário associado à sua conta.
gcloud compute os-login describe-profile
name: [ACCOUNT_EMAIL] - e-mail da conta
posixAccounts:
:
  username: [USER_NAME] - nome do usuário (Você irá usar este nome de usuário para acesso via SSH.
:


6.   Acesso a sua VPS, usando um outro cliente SSH.


Primeiro você deve verificar qual é o endereço IP externo da sua VPN
6.1 - Windows

a) Abra o PuTTY e coloque no campo Host Name (or IP address) o nome de login do seu usuário juntamente com o IP externo da sua máquina.  O formato é o seguinte:
login_gmail_com@123.123.123.123 - Onde login_gmail_com é o login do seu usuário, que você descobriu no item 5.3 deste tutorial. E 123.123.123.123 é o IP externo da seu VPS.


Em seguida, na janela do PuTTY, do lado esquerdo navegue até categoria (Category) →   SSH →  Auth               
b)  Selecione o arquivo, Private Key, que você criou no item 1 deste tutorial. Em seguida clique no botão OPEN.


6.2 - Linux / OSX / MACOS

                Digite no terminal o comando no seguinte formato:
  ssh -i [PATH_TO_PRIVATE_KEY] [USERNAME]@[EXTERNAL_IP_ADDRESS]
Onde:

[PATH_TO_PRIVATE_KEY]  é o caminho para a chave SSH privada.

[USERNAME] é o nome de usuário da VPS que você descobriu no item 5.3 deste tutorial.
[EXTERNAL_IP_ADDRESS] é o endereço externo da VPS.



Nenhum comentário:

Postar um comentário

Busca do Google

Custom Search