FRELY / BLOG
Deixe a IA ajudar a gerir os seus servidores sem entregar as suas chaves SSH
Cada vez mais pessoas deixam um assistente de IA ler registos, editar configurações e reiniciar serviços. A forma óbvia é executar uma IA que consiga executar comandos no seu próprio computador e deixá-la entrar no servidor por ssh.
Isto funciona. Mas vale a pena parar num pormenor: para deixar a IA executar ssh, dá-lhe toda a sua pasta ~/.ssh.
Ao passar pelo seu portátil: entrega mais do que pensa
Para a IA executar ssh prod no seu computador, tem de ler a configuração e as chaves privadas em ~/.ssh. A maioria dos controlos de permissões só consegue decidir se uma pasta é legível. Não consegue dizer "apenas este servidor". Isso significa:
- Pode ler todas as chaves privadas, e não apenas a deste servidor.
- Enquanto os seus comandos conseguirem aceder à rede, uma chave pode sair do seu computador. Uma chave divulgada continua válida. Desligar depois o acesso da IA não a devolve; tem de remover a chave pública de todos os servidores.
- Depois de
sshiniciar sessão, o que a IA pode fazer no servidor depende da conta por trás dessa chave. Se for root, a IA tem root.
O registo do servidor apenas mostra "o seu portátil iniciou sessão com a sua chave". Não consegue distinguir os seus comandos dos da IA.
No sentido inverso: deixar o servidor ligar-se para fora
Em vez de dar à IA uma chave para abrir a porta do servidor, instale um pequeno programa no servidor. O servidor liga-se para fora, à sua conta de IA, e é você que decide o que a IA aí pode fazer.
Com o Frely, funciona assim:
- No site do Frely, abra My Devices → Add a computer (Os meus dispositivos → Adicionar um computador) e crie um comando de instalação de utilização única. Cole-o no servidor. O token funciona uma única vez, expira ao fim de 15 minutos e não é guardado no servidor.
- O servidor liga-se para fora, ao Frely. Não abre nenhuma porta.
- Ligue o FrelyMCP no ChatGPT, no Claude ou no Codex, e a IA pode ler ficheiros e executar comandos nesse servidor.
O que isto muda:
- Nenhuma chave de longa duração vai para a IA. O servidor tem a sua própria identidade de dispositivo, e os comandos que a IA executa não conseguem lê-la.
- Os comandos são executados numa sandbox por predefinição. Só podem escrever na pasta que escolher e na pasta temporária, e pastas de credenciais como
~/.sshe~/.awsficam inacessíveis para leitura. Quando o servidor não consegue executar a sandbox, os comandos são recusados em vez de correrem sem proteção. - Mais acesso precisa da sua aprovação. A IA pede, e você decide no site do Frely, com uma passkey ou um código de autenticador, se permite e por quanto tempo: um comando, 12 horas, ou até que a autorização do dispositivo termine. A IA não pode aprovar o seu próprio pedido.
- Revogue em qualquer altura, com efeito imediato. Cada chamada volta a verificar a autorização, por isso, depois de revogar, o comando seguinte é recusado.
Quatro hábitos que tornam tudo mais seguro
No servidor, a fronteira é "o utilizador de sistema com que o Frely é executado, mais a sandbox". Estas escolhas determinam a sua robustez:
- Instale como um utilizador dedicado, não como root. Por exemplo, crie
frely-opse dê-lhe acesso apenas à pasta da sua aplicação. A sandbox limita as escritas, não o que o utilizador consegue ler, por isso, quanto mais limitados forem os direitos do utilizador, melhor. Para ler registos de sistema sem ser root, adicione o utilizador aos gruposadmesystemd-journal. - Verifique se a sandbox funciona. Em Linux, instale
bubblewrap,socateripgrep; ofrely doctordiz-lhe se a sandbox está disponível. Sistemas mais antigos, como o CentOS 7, não a conseguem executar; aí, aprove "executar sem a sandbox" por um período limitado em vez de a deixar aberta. - Partilhe apenas a pasta de que precisa. Defina
FRELY_WORKSPACE=/srv/myappem vez de partilhar toda a pasta home, e mantenha a autorização do dispositivo de curta duração. - Saiba o que significa o grupo docker. Um utilizador no grupo
dockerconsegue lerdocker logsdiretamente, o que é prático, mas essa pertença ao grupo é tão poderosa como ser root.
Quando o ssh ainda é aceitável
Se a IA só lê registos e executa alguns comandos apenas de leitura, passar pelo seu portátil pode ser aceitável, desde que:
- crie uma chave separada para este servidor e a restrinja no
authorized_keysdo servidor comfrom=erestrict, iniciando sessão como um utilizador limitado; - não haja outras chaves poderosas na mesma
~/.ssh; - permita o acesso apenas para a tarefa em causa, e não durante dias.
Em resumo
Quando a IA gere os seus servidores, o que importa é menos o quão inteligente é e mais aquilo de que dispõe. Em vez de entregar as suas chaves à IA, deixe o servidor ligar-se para fora e aprove o que ela pode fazer.