SSH
Use máquinas remotas para arquivos, terminais, git e workspaces, com o mesmo fluxo da máquina local.
Com SSH, o Dusky roda os agentes numa máquina remota e mantém o mesmo editor, git e terminal. Os hosts ficam em Settings → SSH Hosts. O recurso existe só no app desktop.
Adicionar um host
Use Add Target em Settings → SSH Hosts, ou Add SSH host no seletor de host da barra lateral (Local, SSH ou Server).
| Campo | O que é |
|---|---|
| Label | Nome que aparece no Dusky. |
| Host or alias | Obrigatório. Aceita servidor, deploy@servidor:2222 ou ssh://servidor. |
| Username e Port | Usuário e porta (1 a 65535). |
| Identity File | A chave privada. Vazio usa o agente SSH. |
Em Advanced Connection:
- Proxy Command e Jump Host (o mesmo que ProxyJump ou
ssh -J); - Reuse SSH connection for faster setup, ligado por padrão;
- Runtime: Auto, o Node gerenciado pelo Dusky ou o Node do próprio host;
- permissão para a CLI do host remoto controlar o Dusky, desligada por padrão;
- Remote Terminal Persistence.
Cada host tem Connect, Test, Disconnect, Edit e Remove target.
Importar do ~/.ssh/config
- Fill from ~/.ssh/config…, no diálogo de adicionar, preenche o formulário com um host do arquivo. Nada é salvo antes de Save.
- Import, em Settings → SSH Hosts, traz todos de uma vez.
- Abrir Settings → SSH Hosts sincroniza sozinho: hosts novos do arquivo entram, as portas dos já importados são atualizadas e os que você apagou continuam fora.
Diretivas Include são seguidas. Padrões com curinga ou negação (*, ?, !) são ignorados. A importação nunca sobrescreve um host que você adicionou à mão.
Chaves e senhas
O Dusky confere a chave do host com os seus arquivos known_hosts e com o registro próprio do app.
- Na política padrão, um host novo é aceito e lembrado no primeiro contato.
- Com
StrictHostKeyChecking yes, hosts desconhecidos são recusados. - Uma chave que mudou é recusada, e a mensagem de erro sugere o comando
ssh-keygen -Rcerto.
Senhas, frases de chave e códigos de verificação são pedidos num diálogo, ficam em memória só durante a conexão e são apagados ao desconectar.
Como o Dusky conecta
Por padrão, com o cliente SSH embutido. O OpenSSH do sistema é usado quando o host tem ProxyCommand, ProxyJump ou ProxyUseFdpass, quando a chave é de segurança FIDO2 (-sk) ou quando o host exige GSSAPI/Kerberos. Reaproveitar a conexão funciona só com o Dusky rodando no macOS e no Linux.
O que roda no host remoto
Ao conectar, o Dusky envia um pequeno serviço para uma pasta oculta na home do usuário remoto, junto com o próprio Node.js. Esse serviço cuida dos terminais, dos arquivos e da observação de mudanças, do git, da busca com ripgrep, da detecção de portas, do estado dos agentes e do histórico das sessões.
Sistemas suportados no host: Linux, macOS e Windows, em x64 e arm64.
Com o runtime Host Node, o Dusky usa o Node.js do host e compila o suporte a terminal com npm. Sem compilador no host, arquivos, git e editor funcionam, mas os terminais remotos não. Para instalar o que falta num Linux:
| Gerenciador | Pacotes |
|---|---|
| apt-get | build-essential python3 |
| dnf ou yum | make gcc gcc-c++ python3 |
| pacman | base-devel python |
| apk | build-base python3 |
| zypper | gcc gcc-c++ make python3 |
Terminais que sobrevivem à desconexão
Por padrão, os terminais remotos continuam rodando até você encerrá-los (Keep terminals alive until reset). Se desligar essa opção, defina em Timeout after disconnect (seconds) quanto tempo eles esperam, de 60 segundos a 7 dias.
Para encerrar: End Remote Terminals, Reset Remote Relay (para o serviço remoto e os redirecionamentos de porta) ou remova o host.
Redirecionamento de portas
A aba Ports, na barra lateral direita, tem Detected e Forwarded. Forward a Port pede host remoto, porta remota, porta local e um rótulo.
| Ação | macOS | Linux e Windows |
|---|---|---|
| Mostrar a aba Ports | ⇧⌘I | sem atalho padrão |
- A detecção automática de portas funciona em hosts Linux e Windows. Em hosts macOS a lista fica vazia, mas o redirecionamento manual funciona.
- As portas locais escutam em
127.0.0.1. - Portas remotas abaixo de 1024 são sugeridas localmente como porta + 10000.
- Os redirecionamentos ficam salvos por host e voltam a cada conexão.
Outros detalhes
- Open in → VS Code abre a pasta remota no VS Code pela extensão de SSH remoto.
- Download Folder baixa uma pasta do host.
- A barra de status tem o indicador Remote Hosts, e um terminal desconectado mostra Connect para reconectar.