Referência

Rede e acesso remoto

Token de acesso pela rede (automático). Ao abrir o Cockpit para outros computadores (npm start já faz isso) sem definir COCKPIT_TOKEN, o Cockpit cria um token e o guarda em ~/.cockpit/server-token (permissão restrita ao seu usuário). Ele aparece no terminal ao iniciar. Neste computador o Cockpit abre sem token; no outro computador, abra http://<IP_DO_SERVIDOR>:4000, escolha Token do servidor e cole o token. Esse token não é a chave de ativação do site. Fora de uma rede de confiança, use HTTPS: o token trafega em HTTP puro na rede local.

npm start escuta todas as interfaces IPv4. No outro dispositivo, abra http://<IP_DO_SERVIDOR>:4000, usando o endereço mostrado no terminal. Firewall e rede WSL podem exigir ajustes. 0.0.0.0 é bind, não endereço para digitar no navegador.

Sem COCKPIT_TOKEN, apenas conexões locais (loopback) acessam a API sem autenticação. Acesso pela rede exige convite ou token, mesmo ao abrir pelo IP no computador servidor.

Para habilitar token sem escrevê-lo no histórico, em Bash:

read -rsp "Token do Cockpit: " COCKPIT_TOKEN
echo
export COCKPIT_TOKEN
node bin/cockpit.js --host 0.0.0.0

Na tela Autorizar este computador, escolha Token do servidor, informe o mesmo token configurado e clique em Entrar com token. O navegador recebe uma sessão de até 24 horas, válida para REST e WebSocket. O token não é salvo no navegador; reiniciar o servidor encerra essas sessões. Gestão de convites e HTTPS continua restrita a conexões locais.

A API aceita Authorization: Bearer <token>; API/WS também aceitam query de token. Evite URLs com segredo em compartilhamentos/logs.

Abra o painel no computador servidor via localhost e vá a Configurações → Acesso remoto para gerar convite/link/QR com endereço alcançável pelo destinatário. Gestão de convites exige origem loopback. Com token ativo, ela também exige autenticação; pôr token apenas na query da URL da página não autentica automaticamente todas as chamadas da SPA. Você pode criar o convite pela API autenticada:

curl -X POST http://127.0.0.1:4000/api/remote/pairings \
  -H "Authorization: Bearer $COCKPIT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"scope":"deliberate","baseUrl":"http://<IP_DO_SERVIDOR>:4000"}'

Substitua o IP antes de executar. Abra o pairingUrl retornado no navegador a autorizar.

  • monitor: acompanhamento, com alteração bloqueada.
  • deliberate: ações de deliberação permitidas pelo escopo.

Revogue dispositivos pelo servidor quando necessário. O processo serve HTTP sem provisionar TLS/túnel; acesso pela internet exige camada de rede/HTTPS separada.