Dusky

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).

CampoO que é
LabelNome que aparece no Dusky.
Host or aliasObrigatório. Aceita servidor, deploy@servidor:2222 ou ssh://servidor.
Username e PortUsuário e porta (1 a 65535).
Identity FileA 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 -R certo.

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:

GerenciadorPacotes
apt-getbuild-essential python3
dnf ou yummake gcc gcc-c++ python3
pacmanbase-devel python
apkbuild-base python3
zyppergcc 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çãomacOSLinux e Windows
Mostrar a aba Ports⇧⌘Isem 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.

Nesta página