Como acessar seu ambiente remoto usando o Tailscale?

Luiz Eduardo Oliveira Fonseca
Notebook prateado entreaberto e mouse sobre uma mesa de madeira

• 6 min de leitura

Uma das minhas máquinas de desenvolvimento fica em uma VPS na Alemanha. A aplicação Laravel executa nesse servidor, enquanto o navegador que uso para acessá-la está em outro computador conectado à rede do Tailscale. Para trabalhar nesse ambiente, preciso alcançar a máquina e a porta da aplicação, mesmo estando longe do local que hospeda o projeto.

O Tailscale participa dessa conexão entre os dispositivos. Nesse ambiente, abro a aplicação pelo nome da máquina, acompanhado da porta usada pelo processo. Esse detalhe facilita a identificação do destino, mas não substitui a configuração do serviço que recebe a conexão.

Você pode usar essa separação para entender o próprio ambiente remoto: a conexão precisa chegar à máquina. O serviço de destino precisa aceitar o acesso autorizado. Vou explicar como os nomes, o SSH e as permissões participam desse percurso, além do que precisa continuar funcionando no servidor para você retomar o trabalho.

Direto ao ponto

O Tailscale conecta seus dispositivos em uma rede privada, chamada tailnet. Com o MagicDNS, você pode usar o nome de uma máquina para alcançá-la. A aplicação continua atendendo em uma porta. Suas configurações determinam se ela aceita conexões pela interface usada no acesso remoto.

Você também pode atravessar essa rede para acessar um servidor por SSH. A autorização depende da modalidade de SSH utilizada e das políticas configuradas. Entrar na tailnet, por si só, não deve ser interpretado como permissão para administrar todas as máquinas.

Onde o Tailscale entra no ambiente remoto?

O projeto executado na VPS depende de processos, arquivos e serviços instalados naquele servidor. Seu notebook precisa alcançar os serviços necessários para editar, administrar ou visualizar o resultado, conforme as ferramentas escolhidas para trabalhar. A análise de infraestrutura para Vibe Coding separa a execução da aplicação, o banco e os arquivos que você precisa manter na VPS.

No meu ambiente, o navegador acessa uma aplicação Laravel pelo endereço privado da máquina de desenvolvimento. Você consegue distinguir dois destinos nessa conexão: o computador remoto identificado pelo nome e o processo identificado pela porta. Nenhum dos dois substitui o outro.

Se o processo da aplicação estiver parado, a existência da VPN não fará a aplicação responder. Se ele escutar somente no endereço de loopback do servidor, também não ficará automaticamente acessível por outra máquina. A configuração precisa corresponder à forma de acesso pretendida.

Essa distinção orienta a investigação quando o navegador não abre o projeto. Antes de atribuir o problema ao Tailscale, confira se o serviço está disponível no servidor e se as permissões permitem chegar até ele. A documentação de solução de problemas de conexão reúne verificações relacionadas à rede.

O nome da máquina não substitui a porta da aplicação

O MagicDNS associa nomes aos dispositivos da tailnet. Você deixa de depender da memorização do endereço IP para identificar uma máquina, o que torna o destino mais fácil de reconhecer durante o trabalho.

Uma única VPS pode hospedar várias aplicações. Dar um nome a esse dispositivo não cria automaticamente um nome separado para cada banco de dados ou aplicação instalada nele. A porta e a configuração de cada serviço continuam participando do endereço que você usa.

Ao acessar meu ambiente de desenvolvimento, prefiro reconhecer a máquina pelo nome. Essa escolha facilita encontrar o destino, mas ainda preciso saber qual aplicação está atendendo ali. Para você, a utilidade aparece quando o nome identifica claramente o computador que pretende acessar.

SSH pela VPN e Tailscale SSH têm configurações distintas

Uma conexão SSH convencional pode atravessar a rede do Tailscale. Nesse caso, o servidor SSH continua usando os métodos de autenticação configurados nele, como as chaves autorizadas para o usuário do sistema de destino.

O Tailscale SSH acrescenta uma modalidade integrada à identidade e às políticas da tailnet. O recurso precisa estar habilitado no servidor compatível. A autorização envolve tanto o acesso pela rede quanto a política de SSH. Não se trata de sincronizar suas chaves privadas pessoais entre todos os computadores.

Você precisa identificar qual dessas modalidades está usando antes de interpretar uma falha de autenticação. Uma conexão de rede autorizada não resolve, sozinha, a falta de permissão para autenticar o usuário no sistema operacional.

Essa separação também preserva a precisão na manutenção. Se o ambiente utiliza o OpenSSH convencional, a atualização do OpenSSH no servidor continua fazendo parte da administração. A presença do Tailscale não remove esse serviço nem assume suas atualizações.

As permissões acompanham o trabalho de cada pessoa

As políticas da tailnet determinam quais conexões são permitidas. As tags do Tailscale identificam recursos não humanos, como servidores, enquanto os usuários e grupos identificam os colaboradores autorizados.

Você pode definir permissões para desenvolvedores alcançarem os servidores de desenvolvimento. Aplicar uma tag ao recurso, isoladamente, não autoriza automaticamente colaboradores de um grupo com nome parecido. A política precisa declarar os acessos pretendidos.

No ambiente da Promovaweb, o exemplo de acesso a uma máquina demonstra uma possibilidade de conexão. Ao adaptar esse uso para outros desenvolvedores, confira quais colaboradores precisam administrar o servidor e quais precisam apenas abrir a aplicação. São necessidades diferentes, que podem receber permissões diferentes.

A conexão não mantém os processos em execução

O acesso remoto depende também da continuidade do trabalho no servidor. Encerrar uma conexão de terminal pode afetar processos vinculados àquela sessão, conforme a forma escolhida para executá-los.

O Tailscale fornece o caminho de rede, enquanto ferramentas de sessão, como o tmux, tratam a continuidade do terminal no servidor. O artigo sobre tmux no trabalho com terminal apresenta esse assunto. Você pode analisar a conectividade e a permanência das sessões separadamente ao preparar sua VPS. A explicação de sessões do Herdr na VPS acrescenta a diferença entre perder a conexão e reinicializar o servidor.

Para mim, essa distinção deixa mais claro o que verificar ao retomar um projeto remoto. Além de alcançar a máquina, preciso encontrar os processos necessários disponíveis. O resultado depende das duas partes configuradas para o trabalho que você pretende realizar.

Quando a aplicação precisa de um endereço público

Uma aplicação acessível pela tailnet não se torna pública apenas por receber uma conexão privada. Para apresentá-la a um cliente sem o aplicativo Tailscale, o Tailscale Funnel permite expor um serviço compatível à internet.

Essa exposição muda o público capaz de chegar ao serviço. A aplicação precisa estar preparada para receber tráfego público e aplicar sua própria autenticação quando necessário. Para uso privado, mantenha o acesso correspondente à rede e aos colaboradores autorizados.

Prepare o acesso junto do ambiente de desenvolvimento

A Formação Developer Workspace da Promovaweb inclui o Tailscale na preparação do ambiente de trabalho. Você pode acompanhar esse percurso para relacionar o computador local, o terminal e o servidor remoto.

Para aprofundar redes e administração de servidores, a Formação DevOps amplia esse estudo. Se precisar revisar a configuração durante o trabalho no seu projeto, o Desenvolvimento Colaborativo da Dev Side Studio oferece orientação técnica ao vivo.

Luiz Eduardo Oliveira Fonseca

Luiz Eduardo Oliveira Fonseca

Fundador e Mentor

Programador há mais de 20 anos, fundador da Powertic e da Promovaweb. Embaixador do n8n no Brasil e da Baserow, Chatwoot, Miro e Kestra. Membro do Product Team do Mautic.

Compare os Planos

Escolha o plano adequado ao seu objetivo e consulte tudo o que está incluído.

O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

Plano Martech

Para conectar automação, marketing e atendimento com infraestrutura própria.

R$ 897

R$ 597/ano

  • Grade de automação, atendimento, marketing e análise de indicadores
  • Instalador Exclusivo Promovaweb
  • n8n, Evolution API, Chatwoot e Mautic
  • Trilha DevOps incluída
  • Encontros ao vivo (terça e quinta)
  • Comunidade e acompanhamento
Conhecer o plano

Plano Founders

Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

R$ 1.997/ano

  • 12 meses de acesso ao Founders
  • 90 dias de mentoria intensiva, um encontro por dia útil
  • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
  • Encontro semanal em grupo após a fase intensiva
  • Formação Vibe Coding incluída no plano anual
  • Consultoria individual de até duas horas (bônus)
Conhecer o plano

Veja também

Capa do artigo: Por que o Omarchy 4 pode combinar com Vibe Coding?

Por que o Omarchy 4 pode combinar com Vibe Coding?

Capa do artigo: Como deixar o custo do agente WhatsApp previsível?
Capa do artigo: Como o Jev participa de uma automação de atendimento?
Capa do artigo: Entregabilidade de email: por que a mensagem não chega?
Capa do artigo: Como comparar custo, latência e velocidade de modelos?
Capa do artigo: Como contribuir no open source com issues detalhadas?