Como acessar o Google Cloud Shell remotamente com Tailscale e SSH (Sem Senhas)
Guia definitivo para configurar o Tailscale no Cloud Shell, gerenciar chaves SSH Ed25519 e corrigir erros fatais no .bashrc.
O Google Cloud Shell é uma das ferramentas gratuitas mais poderosas disponíveis para desenvolvedores. Ele te dá uma máquina Linux efêmera, mas robusta, diretamente no navegador. Mas e se você quiser acessar esse terminal pelo seu emulador local preferido (como o Alacritty ou Kitty) no seu desktop, ou até mesmo pelo celular, sem depender da interface web lenta?
A solução envolve uma arquitetura elegante usando Tailscale e chaves SSH Ed25519.
O Problema: Conectividade
O Cloud Shell está atrás dos firewalls do Google. Você não pode simplesmente dar um ssh user@ip. Precisamos de uma VPN Mesh (Tailscale) para criar um túnel seguro entre o Cloud Shell e o seu computador local (ex: seu MX Linux).
Passo 1: Tailscale no Cloud Shell
Abra o seu Cloud Shell pelo navegador uma última vez. Precisamos instalar o binário do Tailscale em espaço de usuário, pois não temos permissões absolutas de root que persistam entre reinicializações do ambiente efêmero.
Baixe os binários estáticos do Tailscale, extraia na sua pasta $HOME/tailscale/ e inicie o daemon do tailscaled com socket local. Feito isso, rode tailscale up e autentique com sua conta. Seu Cloud Shell agora tem um IP na sua malha Tailscale (ex: 100.x.x.x).
Passo 2: Chaves SSH e Adeus Senhas
Acessar remotamente requer segurança impecável e praticidade. Vamos gerar uma chave Ed25519, que é mais segura e rápida que a antiga RSA.
No seu Cloud Shell, execute:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ""
Agora, precisamos “empurrar” essa chave para a sua máquina local (seu PC em casa) para que o Cloud Shell confie nele, ou vice-versa, dependendo de quem inicia a conexão.
Se você quer acessar a sua máquina local a partir do Cloud Shell, execute:
ALL_PROXY=socks5://127.0.0.1:1055 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null seu_usuario@100.x.x.x "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_ed25519.pub
Note o uso do ALL_PROXY apontando para o socket SOCKS5 do Tailscale em user-space!
Passo 3: O Perigo do .bashrc Corrompido
Durante as configurações de atalhos e aliases (como criar a função empurrar-()), é extremamente fácil errar o fechamento de uma chave }. Se isso acontecer, na próxima vez que você abrir o terminal, receberá o temido:
Erro de sintaxe próximo ao token inesperado '}' -bash: /home/seu_usuario/.bashrc: linha 152
Isso quebra o PATH, inutiliza comandos como nvm e softwares como claude ou claude-ds (LiteLLM) param de funcionar instantaneamente com comando não encontrado.
A Solução de Força Bruta:
Em vez de tentar limpar o arquivo com sed e se perder nas regex, guilhotine o arquivo na última linha segura que você conhece:
# Salva apenas as linhas seguras (ex: as 138 primeiras) e deleta a bagunça do final
head -n 138 ~/.bashrc > ~/.bashrc_limpo
mv ~/.bashrc_limpo ~/.bashrc
source ~/.bashrc
Depois, injete os atalhos corrompidos de forma limpa novamente usando um bloco cat << 'EOF' >> ~/.bashrc.
Acessar o Cloud Shell via Tailscale transforma completamente o seu workflow de DevOps, dando a você um servidor poderoso, gratuito e perfeitamente integrado ao seu terminal local.