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.