Termius no iPhone: SSH no homelab sem abrir porta
Acesso o homelab pelo iPhone com o Termius grátis: chave SSH gerada no próprio app e conexão pelo Cloudflare One, sem nenhuma porta aberta em casa.
- Publicado
- Leitura
- 5 min
Muita coisa do homelab eu resolvo pelo celular: um iPhone com o Termius, inclusive de fora de casa.
O resumo da minha experiência cabe numa frase: tendo acesso SSH, tudo se resolve. Neste post conto como montei esse acesso, com chave SSH criada no próprio Termius e conexão pelo Cloudflare Tunnel, sem abrir nenhuma porta no roteador.
Por que o Termius #
O Termius é um cliente SSH com app para iOS, Android e desktop. Uso a versão gratuita e, para o meu uso, ela basta. Nunca usei outro app de SSH no celular, então não tenho comparação para fazer; o que posso dizer é que nunca tive motivo para procurar outro.
Pela página de preços do Termius, o plano gratuito (Starter) inclui:
- cofre local (as chaves e os hosts ficam no aparelho);
- SSH e SFTP;
- port forwarding;
- autocompletar com IA.
Sincronizar o cofre entre celular e computador e os snippets ficam nos planos pagos. Para o meu uso, isso não fez falta.
A chave SSH nasce no celular #
Em vez de copiar uma chave privada do computador para o celular, eu gerei a chave no próprio Termius. A documentação dele explica o caminho: no Keychain, você gera uma chave nova, dá um nome, escolhe o tipo (Ed25519 é uma boa escolha hoje) e, se quiser, uma senha para ela.
Depois, a parte pública da chave vai para o servidor, no arquivo authorized_keys do usuário. O Termius tem uma opção para exportar a chave direto para um host já cadastrado. Se preferir fazer à mão, é colar a linha da chave pública no servidor:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo 'ssh-ed25519 AAAA...sua-chave-publica... termius-iphone' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Assim, a chave privada nunca sai do celular. Se eu perder o aparelho, basta apagar aquela linha do authorized_keys e a chave deixa de valer, sem afetar as chaves dos outros dispositivos.
Como eu chego em casa estando fora #
Aqui está a parte que mais mudou a minha vida no homelab. Eu já contei que sofri com bots na porta 22 e que o problema só acabou quando tirei o SSH da internet com o Cloudflare Tunnel e o ProxyJump. O acesso pelo celular segue a mesma ideia: nenhuma porta aberta no roteador.
No iPhone, uso o app Cloudflare One (o cliente que antes se chamava WARP). Com ele ligado e o aparelho registrado na minha conta da Cloudflare, o tráfego para a rede de casa passa pelo túnel que o cloudflared mantém de dentro do homelab. Para o Termius, é como se eu estivesse na rede local.
Pela documentação da Cloudflare, esse desenho tem três peças:
- Uma rota de rede privada no túnel. Em Networking > Routes, você cria uma rota do tipo Tunnel CIDR apontando a faixa da sua rede (por exemplo,
192.168.1.0/24) para o túnel. - Ajuste no Split Tunnels. No modo padrão, Exclude, o cliente deixa as faixas privadas (como
192.168.0.0/16) fora do túnel. Para alcançar a sua rede, a faixa dela precisa sair dessa lista de exclusão. - O aparelho registrado no Cloudflare One, com regras de quem pode se registrar e, de preferência, políticas do Gateway liberando só o que precisa.
Um detalhe da documentação que vale saber: o servidor SSH vê a conexão chegando do IP da máquina onde roda o cloudflared, e não do celular. Se você monitora os acessos SSH, como eu faço no jump server, os registros vão mostrar esse IP.
O que fica salvo no Termius #
No Termius, cada host tem endereço, usuário e a chave que ele usa. A chave que gerei no Termius está liberada no host do Proxmox. Para os outros acessos de fora, vale o desenho do post sobre SSH: o jump server é a porta de entrada e os outros hosts ficam atrás dele.
Com acesso SSH, dá para resolver quase tudo pelo celular:
- ver se um serviço está de pé e reiniciar quando precisa;
- ler logs com
journalctlpara entender um problema; - conferir o resultado do backup da noite;
- retomar uma sessão do Claude Code em um container, assunto de um post desta semana.
Para reiniciar e investigar um serviço, dois comandos resolvem a maior parte:
systemctl status nome-do-servico
journalctl -u nome-do-servico -n 50 --no-pager
Cuidados com o celular como chave de casa #
Celular se perde, quebra e é roubado. Algumas coisas que valem a pena:
- Bloqueio de tela forte e biometria no aparelho.
- Uma chave por aparelho. Nunca reaproveite a chave do computador no celular. Se um aparelho sair de cena, você revoga só ele.
- Senha na chave, se quiser uma camada a mais. O Termius pergunta na hora de gerar.
- Nada de senha do root por SSH. Com chave funcionando, desligue o login por senha no
sshd_config(PasswordAuthentication no).
Resumindo #
- O Termius grátis resolve SSH pelo celular; sincronização e snippets ficam nos planos pagos.
- Gere a chave no próprio celular e mande só a parte pública para o servidor.
- Cloudflare One + Cloudflare Tunnel dão acesso à rede de casa sem abrir porta no roteador; lembre de tirar a faixa da sua rede da lista de exclusão do Split Tunnels.
- Restrinja quem entra, porque o celular vira uma chave da sua casa.
Hoje, se alguma coisa para no homelab, eu não preciso estar em casa nem perto de um computador. Com o celular e acesso SSH, eu resolvo de onde estiver.