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.



quarta-feira, agosto 29, 2018

VPS Grátis no Compute Engine - Google Cloud Plataform




Hoje irei exemplificar uma maneira de como criar uma Máquina Virtual Grátis no Compute Engine do Google Cloud Plataform.

1 - Primeiramente acesse o Dashboard da ferramenta em https://console.cloud.google.com/compute/instances

2 - Caso não tenha acessado ainda, será necessário um breve cadastro e um número de cartão de crédito.   Lembrando que se você escolher o tipo certo de “máquina virtual” ou VPS, conforme informações do Google, você não será cobrado.  Bom, é bom sempre verificar se as regras continuam as mesmas antes de prosseguir.
E tem uma outra coisa legal, caso você tenha interesse, necessidade ou curiosidade de usar uma máquina mais potente, o Google lhe fornece US$300,00 para fazer os testes.
No meu caso usei um cartão com baixo limite, criado pela plataforma de cartões do Banco do Brasil. Caso as regras mudem e eu não fique sabendo, o prejuízo será melhor.
Preços do Google Compute Engine: https://cloud.google.com/compute/pricing

3 - Para começar, clique em Compute Engine -> VM instances -> Create Instance





4 - Nesta etapa você deve escolher as configurações da sua máquina.
Escolhendo a região us-east1 e o tipo da máquina “f1-micro instance” você terá 744 horas grátis no mês.
 
OBS: Ainda não confirmei quantos meses é possível usar a máquina gratuitamente.
 

5 - Na configuração gratuita, consegui instalar o docker e rodar algumas imagens. O problema é que a aplicação que quero fazer o teste foi feita em Java, dependendo assim de uma quantidade maior de processamento e memória. Assim, resolvi fazer um teste com uma máquina maior e para isto irei utilizar os meus créditos para teste gratuitos.


Escolhi uma vCPU compartilhada com 1.7GB de memória. E um HD de 10GB com o Ubuntu 18.04 LTS Minimal.

6 - Para cada VPN criada, o Google disponibiliza um IP Interno e um IP Externo. Sendo que se a máquina for desligada um novo IP Externo pode ser atribuído.

Para iniciar a configuração de sua VPS é só clicar no botão SSH.

7 - Então uma janela do navegador irá se conectar via SSH com sua nova VPS.



8 - Num próximo post irei explicar como instalar o Docker.

sexta-feira, junho 29, 2018

RichCopy - Utilitário para cópia de arquivos no Windows.



    Precisei fazer a cópia de diversos arquivos de vídeos que estavam em um DVD. Como diversos dos arquivos estavam corrompidos, a cópia tradicional foi inviável.
   Tentei primeiramente utilizar um script no Shell do Windows. Mas o tempo para a cópia não foi satisfatório.
Arquivo: processa.bat
 @ECHO OFF  
 forfiles /p e:\ /s /C "CMD /C "d:\processa2.bat" @file @relpath @path @isdir"  

Arquivo: processa2.bat
 @ECHO OFF  
 set file=%~1  
 set relpath=%~2  
 set xpath=%~3  
 set isdir=%4  
 set destino=d:\cursos  
 REM echo.parametro1 - %file%  
 REM echo.parametro2 - %relpath%  
 REM echo.parametro3 - %xpath%  
 REM echo.parametro4 - %isdir%  
 set npath=%destino%%~p1  
 if %isdir% EQU TRUE (  
      echo. * eh um DIR *: %xpath%  
      ) ELSE (  
      echo.parametro1 - %file%  
      echo.parametro2 - %relpath%  
      echo.parametro3 - "%xpath%"  
      echo.npath - %npath%  
      rem xcopy "%xpath%" "%npath%" /D /H /F /Y /z /E  
      robocopy "%xpath%" "%npath%" /E /R:0 /W:0 /V /ETA  
      )  
 rem pause  
 exit  

   Foi quando procurando uma alternativa encontrei o RichCopy, que é uma ferramenta gratuita desenvolvida pelo Ken Tamaru da Microsoft.

Link para a página de download:
           
Link direto para download:

sexta-feira, junho 22, 2018

Comparador de Roteadores Wifi



Hoje achei um site muito legal que me permite comparar as especificações de diversos roteadores.

Estava procurando um novo roteador para a minha internet que funcionasse em 5GHz e este site foi muito útil. 



E para comprar roteadores uma loja que indico é a Amazon.com.br

Instant Pot – A panela de pressão elétrica multifunções




As panelas de pressão são muito usadas no Brasil principalmente para fazer o clássico feijão e para cozinhar grãos duros e acelerar o tempo de preparo de carnes mais duras.

Já nos EUA, a panela de pressão não é muito comum, principalmente pelo medo de explosões.

Agora a Instant Pot vem mudando este cenário, com muitos sensores e diferentes funcionalidades em apenas um equipamento.

Por exemplo, as opções mais comuns são: panela de pressão (pressure cooker), slow cooker, panela de arroz (rice cooker), iogurteira (yogurt maker), panela de cozimento a vapor (steamer), panela que mantém os alimentos quentes (warmer) e ainda frigideira (sauté pan).


Uma boa opção de conseguir uma panela destas é comprando on-line na Amazon, mandando entregar nos EUA ou diretamente para o Brasil pelo serviço Shipito ou pelo serviço de entregas internacionais da própria Amazon.



É bom lembrar que a panela funciona apenas na rede de 110 volts.

 1 - Instant Pot Duo Mini 3 Qt 7-in-1 Multi- Use Programmable Pressure Cooker, Slow Cooker, Rice Cooker, Steamer, Sauté, Yogurt Maker and Warmer

US$ 79,95 na Amazon

 2 - Instant Pot Ultra 3 Qt 10-in-1 Multi- Use Programmable Pressure Cooker, Slow Cooker, Rice Cooker, Yogurt Maker, Cake Maker, Egg Cooker, Sauté, Steamer, Warmer, and Sterilizer

US$ 119,95 na Amazon



sexta-feira, maio 04, 2018

Como mostrar código HTML ou Javascript em um post do Blogger

Achei este webapp muito bom com a funcionalidade de conversão de código para blogs


Basta você converter o seu código e colocar o HTML gerado no post do seu Blog.

HTML / Javascript - Mostrar carregar mais de uma página ao mesmo tempo

Muitas vezes você precisa que mais de uma página HTML seja carregada ao mesmo tempo.  Você pode fazer isto de algumas maneiras. Por exemplo:

1) Com a tag 'Object'
Vale observar que é necessário que as páginas estejam no mesmo domínio.
A página 2 do exemplo coloquei para ficar oculta, por isto defini um espaço de 1x1.
  <HTML>  
   <BODY>  
    <object data="http://www.neoage.com.br/pagina1" type="application/javascript" width="100%" height="100%">  
      Error: Embedded data could not be displayed - Página 1.  
     </object>  
      <object data=" http://www.neoage.com.br/pagina2" type="text/html" width="1" height="1">  
      Error: Embedded data could not be displayed - Página 2.  
      </object>   
 </BODY>  
 </HTML>  

2) Usando a tag 'iframe'

Aqui também temos a limitação das páginas estarem no mesmo domínio.
 <HTML>  
   <BODY>  
   <iframe id="frameA" src="https://www.neoage.com.br/p1.html" style="position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100px; height:100px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;">  
      Your browser doesn't support iframes  
    </iframe>  
   <iframe id="frameD" src=" https://www.neoage.com.br/p2.html" style="position:fixed; top:100px; left:100px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;">  
     Your browser doesn't support iframes  
   </iframe>  
 </BODY>  
 </HTML>  



3) - Usando a função javascript 'window.open'

 <HTML>  
 <BODY>  
      <script>  
 function getParameterByName(name, url) {  
   if (!url) url = window.location.href;  
   name = name.replace(/[\[\]]/g, "\\$&");  
   var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),  
     results = regex.exec(url);  
   if (!results) return null;  
   if (!results[2]) return '';  
   return decodeURIComponent(results[2].replace(/\+/g, " "));  
 }  
   pagina_go=getParameterByName('pagina');  
   document.write("Parametro: " + pagina_go);  
    window.open('https://neoage.com.br/p1.html','_tab1');  
    window.open(pagina_go,'_tab');  
      </script>       
 </BODY>  
 </HTML>  






Busca do Google

Custom Search