RDP FIDO · SSH

SSH atrás de uma chave FIDO2 — e um console com assistente de IA

A porta SSH fica fechada para todos até você tocar na sua chave. Com ela aberta, você trabalha em um console que digita sozinho as senhas salvas, deixa os comandos frequentes a um clique e sugere os próximos: o assistente de IA transforma uma tarefa em comandos e, com a sua permissão, lê o que o terminal mostra.

Desde a versão 1.24. O console faz parte do cliente, inclusive na versão gratuita.

Uma sessão real: o assistente (um modelo local no LM Studio) leu a saída do du e sugere limpar o cache do APT.
Uma sessão real: o assistente (um modelo local no LM Studio) leu a saída do du e sugere limpar o cache do APT.

A porta SSH fica fechada até o toque na chave

O gateway no Linux fecha a porta 22 (e qualquer outra porta TCP) exatamente como fecha o RDP. Confirme com uma chave FIDO2 ou com um código de uso único, e a porta se abre por 90 segundos e só para o seu endereço. Scanners e tentativas de adivinhar senhas encontram uma porta fechada.

Um console que lembra senhas e comandos

O bloco “SSH console” (console SSH) abre um terminal com um painel lateral. A senha do sudo é digitada com um clique, ou sozinha, quando o pedido aparece; os comandos frequentes são executados a partir de uma lista, própria de cada servidor ou comum a todas as sessões.

Um assistente de IA dentro do console

Descreva a tarefa com suas palavras e receba comandos com os botões “Insert” (inserir) e “Run” (executar). Funciona com o Claude e com qualquer servidor compatível com a OpenAI, inclusive um modelo local dentro da sua própria rede.

Do clique ao prompt do shell

A mesma confirmação que abre o RDP abre também o SSH.

  1. Um clique no bloco. As sessões SSH têm uma aba própria no cliente, com blocos compactos.
  2. Um toque na chave. O cliente pede a confirmação ao gateway: uma chave FIDO2 com PIN ou impressão digital, o Windows Hello ou um código de uso único, se o gateway funcionar no modo de códigos.
  3. A porta se abre só para você. O gateway abre a porta SSH para o endereço de onde veio a confirmação, por 90 segundos: o suficiente para iniciar a conexão. Uma sessão já estabelecida continua ativa; uma nova pede a chave de novo.
  4. O console inicia o ssh. É o ssh do próprio sistema: suas chaves, o ssh-agent e o ~/.ssh/config funcionam como antes.
IA

O assistente de IA: da tarefa ao comando

O assistente fica no painel lateral do console e sabe em qual máquina você se conectou e com qual usuário. O modelo é você quem escolhe.

Descreva a tarefa, receba um comando

Descreva a tarefa, receba um comando

Cada comando sugerido vem em uma caixa própria, com botões: “Insert” digita o comando no terminal sem Enter, “Run” executa e “+ Save” guarda na sua lista de comandos.

Claude com uma chave de API

Claude com uma chave de API

Informe uma chave de API da Anthropic e o assistente passa a ser o Claude. O endereço e o modelo já vêm preenchidos; a lista de modelos aparece assim que a chave é informada.

Ou o seu próprio modelo, dentro da sua rede

Ou o seu próprio modelo, dentro da sua rede

Qualquer servidor compatível com a OpenAI: LM Studio, Ollama, um gateway de API próprio. O próprio console pede ao servidor a lista de modelos. Com um modelo local, nem as suas perguntas nem a saída do terminal saem da sua rede.

Prompts: descreva o servidor uma única vez

Prompts: descreva o servidor uma única vez

Notas permanentes para o assistente: qual é o sistema, o que está instalado, no que não se pode mexer. Os prompts marcados vão para o modelo junto com cada pergunta, nesta sessão ou em todas.

Histórico de conversas

Histórico de conversas

As conversas ficam guardadas por sessão: abra uma anterior e continue, ou comece uma nova. Abrir uma conversa antiga não digita nada no terminal.

O que o assistente vê e o que ele nunca vê

  • O texto do terminal: só enquanto “Sees the console” (vê o console) estiver marcado. Nesse caso, as últimas 200 linhas da tela vão junto com cada pergunta. Quem impõe a proibição é o próprio programa, não a página do painel.
  • Senhas: nunca. Quem digita é o programa, o terminal não as exibe e elas não entram no texto enviado ao modelo.
  • A chave de API fica guardada com criptografia (DPAPI no Windows, o chaveiro da área de trabalho no Linux) e só é enviada ao endereço para o qual foi salva.
  • As requisições saem direto do seu computador para o endereço que você informou. Elas não passam pelos nossos servidores.

Você decide quem aperta Enter

  • By click only (só com clique), o modo padrão: o assistente sugere, você insere ou executa.
  • Insert the first one (inserir o primeiro): o primeiro comando sugerido vai para a linha de comando, e o Enter fica com você.
  • Run the first one (executar o primeiro): o primeiro comando é executado na hora. O console avisa sobre esse modo quando você o ativa.

O assistente é instruído a não começar por um comando destrutivo e a avisar, em uma linha, antes de um comando que apague dados, reinicie um serviço ou altere o acesso. Ainda assim, é um modelo: leia o comando antes de executar.

As senhas se digitam sozinhas

Como um gerenciador de senhas, só que dentro do terminal.

  • Cada entrada responde ao seu próprio pedido. Informe um trecho da linha, por exemplo [sudo] password, e o console oferece a entrada assim que o terminal exibe esse pedido.
  • “Type it by itself” (digitar sozinho): a entrada responde ao pedido sem nenhum clique, mas no máximo uma vez a cada 15 segundos, para que uma senha errada nunca seja digitada três vezes seguidas.
  • Senhas de login e frases-senha de chaves também: Enter passphrase for key… é reconhecido como um pedido de senha.
  • Quem guarda é o sistema, não nós: o DPAPI do usuário atual no Windows, o chaveiro da área de trabalho no Linux. A página do painel nunca recebe uma senha: ela indica a entrada, e quem digita é o programa.
O terminal pede a senha do sudo, e o console oferece a entrada correspondente.
O terminal pede a senha do sudo, e o console oferece a entrada correspondente.

Comandos a um clique

Comandos frequentes com um clique, e não pelo histórico do shell.

  • Um clique executa o comando; “Insert” digita o comando sem Enter, para você completar os argumentos.
  • Por servidor e compartilhados: os comandos desta sessão vêm primeiro; os demais são comuns a todas as sessões.
  • Comandos de várias linhas também funcionam, e um bom comando do assistente fica guardado com “+ Save”.
Comandos salvos: para este servidor e para todas as sessões.
Comandos salvos: para este servidor e para todas as sessões.

No cliente: uma aba SSH e as configurações da sessão

Os servidores SSH ficam ao lado das áreas de trabalho, em uma aba própria.

A aba SSH do cliente para Windows.
A aba SSH do cliente para Windows.
  • A aba SSH com blocos compactos: nome, endereço, usuário e quando você se conectou pela última vez. A tecla Tab alterna entre ela e as áreas de trabalho.
  • Uma imagem própria para cada bloco (PNG, JPEG, BMP, GIF, ICO), para achar o servidor certo de relance.
  • Porta SSH, arquivo de chave e opções do ssh na sessão: as opções vão para o ssh como foram digitadas, por exemplo o encaminhamento de portas -L ou um host de salto -J.
  • Nada para baixar à parte: no Windows, o console vem embutido no cliente e chega com a atualização dele; no Linux, é o comando rdpfido console do pacote do cliente.
Uma sessão com o protocolo “SSH console”: o gateway, a porta SSH, o arquivo de chave e as opções do ssh.
Uma sessão com o protocolo “SSH console”: o gateway, a porta SSH, o arquivo de chave e as opções do ssh.

O gateway: um único comando no servidor

O gateway RDP FIDO para Linux fecha portas TCP adicionais atrás da mesma chave: SSH, um console web do Proxmox, um painel de administração.

No servidor

# fechar o SSH; várias portas, separadas por espaços$ sudo rdpfido-gate ports add 22
# o que está fechado agora$ sudo rdpfido-gate ports
# devolver a porta ao modo normal$ sudo rdpfido-gate ports remove 22

A partir de um cliente Linux

# chave → as portas se abrem durante a janela de acesso$ rdpfido open web-01
# o mesmo e, em seguida, ssh para o host da sessão$ rdpfido ssh web-01
# o mesmo, na janela do console SSH$ rdpfido console web-01
  • Pacotes para Ubuntu, Debian, Astra Linux, RED OS e ALT Linux (deb e rpm) e um arquivo compactado com instalador para qualquer outra distribuição.
  • Até 16 portas. As conexões já abertas não são derrubadas, então dá para fechar a porta 22 de dentro de uma sessão SSH.
  • Você não fica trancado do lado de fora por acidente: até a primeira chave ser registrada, as portas continuam abertas, e rdpfido-gate unlock no console da própria máquina é a saída de emergência.
  • A janela de acesso limita apenas o início de uma conexão. Uma sessão estabelecida dentro da janela continua ativa depois que ela termina.

Como começar

  1. No servidor (Linux): instale o pacote do gateway, execute sudo rdpfido-gate setup e depois sudo rdpfido-gate ports add 22.
  2. No seu computador: instale o cliente RDP FIDO, versão 1.24.1 ou mais recente, e registre a sua chave com o código que o gateway exibiu.
  3. Adicione uma sessão: clique em “Add” (adicionar) na aba SSH e informe o servidor, o login, o protocolo “SSH console” e o endereço do gateway.
  4. O assistente: na aba “Assistant” (assistente), clique na engrenagem e escolha o Claude com uma chave de API ou informe o endereço do seu próprio servidor.

O que ainda não existe

  • As portas adicionais são fechadas pelo gateway no Linux. Por enquanto, o gateway no Windows protege apenas o RDP.
  • Por um hub na nuvem (rdpfido-cloud) só passa o RDP; o SSH precisa de uma conexão direta com o gateway.
  • O cliente gráfico para Linux não tem o bloco do console: o console é iniciado com rdpfido console, e nos pacotes atuais para Linux o nome do modelo é digitado à mão.
  • Não há transferência de arquivos nem abas com vários terminais em uma mesma janela do console.

Perguntas e respostas

O assistente de IA vê as minhas senhas?

Não. As senhas são digitadas pelo próprio programa, o terminal não as exibe, a página do painel nunca as recebe e elas não entram no texto enviado ao modelo. O assistente só recebe o texto do terminal enquanto “Sees the console” estiver marcado.

Posso usar um modelo local, sem nenhuma nuvem?

Sim. Qualquer servidor compatível com a OpenAI serve: LM Studio, Ollama, um gateway de API próprio. As requisições vão do seu computador direto para o endereço que você informou; assim, com um modelo dentro da sua rede, nada sai dela.

Quais modelos são compatíveis?

O Claude pela API da Anthropic (é preciso uma chave de API) e qualquer modelo por trás de uma API compatível com a OpenAI. Depois de informado o endereço, o console mostra os modelos que o servidor tem; o nome também pode ser digitado à mão.

O assistente pode executar comandos sozinho?

Por padrão, não: os comandos só são inseridos ou executados com o seu clique. Há mais dois modos, “insert the first one” e “run the first one”; ative o segundo apenas quando confiar tanto no modelo quanto na tarefa.

Preciso de uma chave de hardware?

Serve uma chave FIDO2 (YubiKey e outras) ou o Windows Hello. Se não houver chaves, o gateway pode funcionar no modo de código de uso único, com um aplicativo autenticador.

Posso usar o console sem o gateway?

Sim. Uma sessão sem gateway é um console SSH comum, com senhas, comandos e o assistente. O gateway acrescenta o principal: uma porta fechada para todos os outros.

É pago?

O console faz parte do cliente, inclusive na versão gratuita (até 10 sessões salvas). O Pro, com pagamento único, remove o limite de sessões e os anúncios. O modelo é pago à parte, ao provedor dele, ou não custa nada se for seu.

Em quais sistemas funciona?

O cliente com o console: Windows 10 e 11 (usa o OpenSSH do sistema e o WebView2) e Linux. O gateway que fecha o SSH: Linux, com pacotes para Ubuntu, Debian, Astra Linux, RED OS e ALT Linux.

Feche o SSH atrás da chave e trabalhe em um console que ajuda

A versão gratuita traz o gateway, o cliente e o console. O assistente funciona com o modelo que você escolher.