Autenticação

O DR-Terminal suporta três métodos de autenticação: palavra-passe, chave privada e chave de segurança FIDO2 (YubiKey).

Palavra-passe

O método mais simples. Uma palavra-passe introduzida numa ligação guardada fica armazenada no armazenamento seguro da plataforma — nunca na configuração JSON. Se o campo da palavra-passe estiver vazio, a aplicação pergunta sempre que se liga.

Fallback de chave pública → palavra-passe: quando o servidor rejeita uma chave pública (por exemplo, porque não está em authorized_keys), o DR-Terminal pede automaticamente a palavra-passe do mesmo utilizador, em vez de terminar a ligação.

Chave privada

Chaves nos formatos OpenSSH, PKCS#1, PKCS#8, ssh.com ou PuTTY PPK (v2/v3) são todas aceites — o formato é detetado automaticamente, pelo que uma chave .ppk funciona sem ser necessário convertê-la antes. É possível:

Se a chave estiver encriptada com uma passphrase, o DR-Terminal solicita-a na primeira vez em que a chave é utilizada e depois mantém-na apenas em memória — como o ssh-agent, um desbloqueio por execução da aplicação; ao fechar a aplicação, todas as chaves voltam a ficar trancadas. As chaves encriptadas importadas permanecem na respetiva forma encriptada original no armazenamento seguro. São suportados muitos algoritmos — RSA, ECDSA (P-256, P-384, P-521), Ed25519, Ed25519-SK, ECDSA-SK (FIDO).

Gerador de chaves

Definições → Segurança tem um assistente Gerar chave SSH. Escolha o tipo (por exemplo, ed25519), defina uma passphrase (opcional — protege a chave mesmo dentro do armazenamento seguro), e a chave é guardada localmente. O comentário predefinido da chave é ${user}@${host}@DR-Terminal — útil para identificar a chave no servidor. A chave pública pode ser copiada para a área de transferência, para colocar em ~/.ssh/authorized_keys no servidor.

As chaves na lista podem ser renomeadas no próprio local; se o nome escolhido colidir com um já existente, a aplicação acrescenta (2) automaticamente.

Conversor de chaves

Definições → Segurança → Chaves SSH → Converter converte uma chave privada entre todos os formatos comuns — escolha uma origem (uma chave armazenada, um ficheiro ou texto colado) e um formato de destino; depois copie, partilhe ou guarde o resultado.

Formatos, nos dois sentidos:

FormatoLerEscrever
OpenSSH (BEGIN OPENSSH PRIVATE KEY)
PKCS#8 (BEGIN PRIVATE KEY)
PKCS#1 (BEGIN RSA PRIVATE KEY, apenas RSA)
PuTTY PPK — v2 e v3

A entrada pode ser PEM (texto), PuTTY PPK ou DER binário bruto — o formato é detetado automaticamente. Tipos de chave: RSA, Ed25519 e ECDSA (P-256/384/521).

O PKCS#1 descreve apenas chaves RSA, pelo que esse destino só é oferecido quando a origem é uma chave RSA.

Mudar uma ligação de palavra-passe para chave

Não é necessário editar o authorized_keys à mão. Para uma ligação guardada com palavra-passe, o DR-Terminal oferece uma migração guiada em dois locais:

Ambos seguem o mesmo fluxo: escolha uma chave armazenada ou gere uma nova; o DR-Terminal implanta a chave pública no servidor através do login com palavra-passe existente, testa se a autenticação por chave realmente funciona e só depois muda a ligação guardada para autenticação por chave. Se o teste falhar, a ligação permanece inalterada.

Chave de segurança (FIDO2 / YubiKey)

O DR-Terminal lida com chaves ed25519-sk e ecdsa-sk — que podem ser geradas dentro da própria aplicação. Não é necessário um ssh-keygen externo.

Gerar uma chave protegida por YubiKey no DR-Terminal

  1. Definições → Segurança → Chaves SSH → Gerar chave SSH.
  2. Ative o interruptor Chave de segurança. Escolha o algoritmo — Ed25519-SK (recomendado) ou ECDSA-SK.
  3. Toque na sua YubiKey quando lhe for pedido. A aplicação solicita ao token a criação de uma nova credencial e assina a chave pública.
  4. A chave é armazenada no gestor de chaves do DR-Terminal. Copie a chave pública e cole-a em ~/.ssh/authorized_keys no servidor de destino.

Windows Hello: no Windows, o pedido de PIN do FIDO2 é a caixa de diálogo nativa do Windows Hello (PIN / impressão digital / rosto), e não uma caixa de diálogo da aplicação.

As chaves residentes (armazenadas na própria YubiKey) eliminam a necessidade de carregar o ficheiro de chave — o segredo inteiro reside no token. As chaves geradas no DR-Terminal são não residentes: o identificador da credencial fica no gestor de chaves e é necessário em conjunto com o token.

Utilizar uma chave SK existente

Se já existir uma id_ed25519_sk / id_ecdsa_sk gerada noutro local (por exemplo, através de ssh-keygen -t ed25519-sk), importe-a a partir do mesmo gestor de chaves — o DR-Terminal trata as chaves SK importadas e geradas da mesma forma.

No momento da ligação

O DR-Terminal pede um toque na chave. O indicador pisca — toque nele. O iOS suporta NFC e USB-C (YubiKey 5Ci e posteriores). Android — NFC + USB (OTG). O Desktop utiliza APIs FIDO2 nativas (Windows Hello, macOS, Linux via libfido2).

Previous
Ligações SSH
Next
Terminal