Terminal e SSH no Android: Guia Completo
Aprenda a usar o terminal integrado do PocketCode — um shell local BusyBox mais um cliente SSH com SFTP e encaminhamento de portas — para scripting e servidores remotos.
Terminal e SSH no Android
Uma das ferramentas mais poderosas do PocketCode é o seu terminal integrado:
um shell local (BusyBox ash) para scripting, mais um cliente SSH com SFTP para
servidores remotos. A tela de Conexões também tem painéis de Serial e de VNC/RDP,
mas não funcionam nesta versão (o VNC/RDP conecta sem desenhar a área de trabalho),
e não há tela de Telnet.
SSH: seu servidor no seu bolso
Configuração rápida
As conexões SSH são gerenciadas a partir da tela de Conexões do PocketCode, e não digitadas como um comando de shell. Você adiciona um host, escolhe autenticação por senha ou por chave, e o app cuida do resto:
- Gere uma chave Ed25519, RSA ou ECDSA (ou uma chave ligada ao dispositivo, no Android Keystore) no gerenciador de chaves do app, ou importe uma existente.
- Adicione a chave pública ao
~/.ssh/authorized_keysdo seu servidor, como de costume. - Salve a conexão como favorita e conecte-se com um único toque.
Sem linha de comando ssh/ssh-keygen para memorizar — a geração de chaves, os
hosts e as regras de encaminhamento de portas ficam todos na interface de SSH.
Recursos do SSH
- Autenticação: senha, par de chaves (Ed25519, RSA, ECDSA) ou teclado interativo
- Encaminhamento de portas: regras locais e remotas para acessar serviços remotos (a opção dinâmica SOCKS não é um proxy SOCKS de verdade)
- SFTP integrado: navegue, crie pastas, renomeie e apague sem sair do aplicativo
- Multissessão: múltiplas conexões simultâneas (Pro; no Grátis, uma de cada vez)
- Keepalive: pacotes a cada 30 segundos para manter aberta uma sessão ociosa
Exemplo: faça deploy do seu celular
Depois de conectar-se a um servidor pela tela de Conexões, você tem um shell remoto de verdade — quaisquer ferramentas instaladas naquele servidor ficam ao seu alcance:
# Agora você está no servidor remoto via SSH
cd /var/www/myapp
git pull origin main
npm install --production
pm2 restart all
# Verifica se está tudo funcionando
pm2 status
curl -s localhost:3000/health | jq .
Esses comandos rodam na máquina remota, não no seu celular — a toolchain de deploy fica no servidor ao qual você se conectou.
O shell local
O terminal local é um shell POSIX real — BusyBox 1.34.1 ash (com fallback
para o sh do Android) — restrito ao workspace do seu projeto (roda com as
permissões do próprio app: não é um sandbox). Ele já vem com o conjunto de
ferramentas Unix padrão (373 applets do BusyBox), sem instalações extras:
# Coreutils e ferramentas de texto já vêm incluídos
ls -la
grep -rn "TODO" .
cat data.json | sed 's/old/new/g' > out.json
find . -name "*.log" | xargs tar czf logs.tgz
É ideal para manipular arquivos, escrever scripts de shell, encadear ferramentas com pipes e preparar um projeto antes de um commit — tudo no dispositivo.
Rodando código: use o botão Run do editor
O node está no PATH do shell (node arquivo.js, sem addons nativos), mas npm e
npx não vêm embutidos, e não há comandos python nem go. Em vez disso, o
PocketCode roda código pelo botão Run do editor, apoiado em runtimes no
dispositivo: JavaScript e TypeScript no Node.js embutido, C com o TCC, Python, Ruby
e PHP como runtimes WebAssembly, um interpretador de Java limitado e Kotlin, com Lua,
Go e Rhai como pacotes opcionais. Abra um arquivo, toque em Run e a saída aparece
no console. Veja
Rode código em 16 linguagens para o quadro
completo.
Dicas de produtividade
1. Aliases úteis
Encurte os seus comandos de shell frequentes com o gerenciador de aliases do terminal:
alias ll="ls -la"
alias gl="grep -rn"
alias h="cat *.log | tail -n 50"
(As operações de Git rodam pela interface de Git integrada do PocketCode, e os
deploys pela conexão SSH com o seu servidor — não por um binário local
git/ssh.)
2. Encaminhamento de portas para alcançar serviços remotos
Precisa alcançar um banco de dados ou serviço que só escuta no host remoto?
Adicione uma regra de encaminhamento de portas à conexão SSH na tela
de Conexões (o Grátis inclui uma) — por exemplo, encaminhe a porta 5432 do servidor para uma porta
local. Com o túnel no ar, aponte o módulo de banco de dados do
PocketCode para essa porta local para navegar e consultar o PostgreSQL remoto, tudo
pela sessão SSH criptografada.
3. Transferência de arquivos com SFTP
O explorador de SFTP integrado permite que você:
- Navegue pelo sistema de arquivos do servidor, crie pastas e renomeie ou apague itens (também em lote)
- Veja o celular e o servidor lado a lado numa visão de dois painéis (copiar arrastando entre os painéis ainda não funciona)
- Envie um arquivo do celular para a sessão remota com Anexar arquivo, que o
envia para
/tmp
Baixar, e editar arquivos remotos no editor de código, não estão disponíveis nas telas de SFTP nesta versão.
Temas de terminal
Há 12 temas de terminal integrados: cinco são grátis (PocketCode, PocketCode Dark, PocketCode Light, Dark e Light) e sete são Pro. Terminal dividido e entrada em broadcast também são Pro.
Grátis vs Pro
| Recurso | Grátis | Pro |
|---|---|---|
| Hosts SSH | 1 | Sem limite do plano |
| Sessões simultâneas | 1 | Sem limite do plano |
| SFTP | ✅ | ✅ |
| Encaminhamento de porta | 1 | Sem limite do plano |
| Shell local (BusyBox) | ✅ | ✅ |
| Temas de terminal | 5 | 12 |
O terminal do PocketCode permite gerenciar servidores, fazer deploy de apps via SSH e criar scripts localmente — tudo a partir do seu dispositivo Android. Para rodar código, combine-o com os runtimes on-device do editor. Comece grátis e trabalhe de qualquer lugar.
Perguntas frequentes
Dá para usar um terminal Linux no Android?
Sim. O PocketCode tem um terminal integrado — um shell local (BusyBox 1.34.1 ash, com 373 applets) e as ferramentas Unix padrão — além de um cliente SSH com SFTP e encaminhamento de portas para máquinas remotas, tudo no celular.
É uma distribuição Linux completa?
Não. O shell local é o BusyBox ash (coreutils e ferramentas como ls, grep, sed, awk, find e tar), restrito ao workspace do seu projeto. É ótimo para scripting e para operar servidores remotos, mas não é uma distro completa: não traz gerenciador de pacotes, nem git, nem python, nem cliente ssh.
Tem SSH e SFTP?
Sim — um cliente SSH com autenticação por senha, por chave (RSA, Ed25519, ECDSA, ou uma chave guardada no Android Keystore) e por teclado interativo, um navegador SFTP e encaminhamento de portas. Para enviar um arquivo do celular usa-se Anexar arquivo, que o envia para /tmp; arrastar entre os painéis do SFTP ainda não copia nada. Na tela de Conexões há painéis de Serial e de VNC/RDP, mas não funcionam nesta versão, e não há tela de Telnet.
Dá para rodar Python ou Node no terminal?
O node está no PATH do shell, então você pode rodá-lo no terminal; npm e npx não vêm embutidos. Python e as demais linguagens rodam pelo botão Run do editor, apoiadas em runtimes no dispositivo. O terminal é para scripting de shell e para conectar a máquinas remotas.
O terminal funciona offline?
O shell local roda no dispositivo. O app precisa de conexão para entrar; abri-lo com uma sessão já iniciada funciona offline, e depois disso o shell funciona localmente. O SSH só precisa de rede porque acessa um servidor remoto.
Terminal e SSH