Qual é o objetivo do ssh-ed25519-cert-v01?

0

Eu estive brincando com as configurações de criptografia do OpenSSH (7.4p1-10 no Debian 9) e notei que quando eu configurava o sshd_config

HostKeyAlgorithms [email protected]

e tem uma chave de host gerada com

ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ssh-ed25519

o servidor reclama:

debug3: list_hostkey_types: ssh-ed25519 key not permitted by HostkeyAlgorithms [preauth]


Curiosamente, ssh-keygen -t considera ssh-ed25519-cert-v01 como parâmetro, mas não gera uma chave. Qual é o propósito desse algoritmo? Onde posso encontrar mais informações sobre isso?

# ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t "[email protected]"
Generating public/private [email protected] key pair.
key_generate failed
    
por ufo 04.07.2017 / 05:05

1 resposta

2

A página de manual ssh-keygen tem uma seção sobre "certificados".

Os certificados OpenSSH são conceitualmente semelhantes aos certificados X.509 (SSL / TLS) - o cliente ou servidor confia em uma chave para atuar como uma autoridade de certificação , aceitando automaticamente todos os pubs de servidores ou usuários < em> assinado por essa chave. (Ao contrário do X.509, o formato de certificado OpenSSH suporta apenas confiança direta, não transitiva; não pode haver CAs "intermediárias").

Embora o 7,4 aceite erroneamente os formatos de certificado em -t , não faz sentido gerá-los dessa maneira. Primeiro você precisa gerar um par de chaves simples (atualmente todos os tipos são suportados), então use ssh-keygen -s ... [-h|-u] ... para assinar a chave pública com o par de chaves CA, que gera um certificado.

(Em teoria, seria possível para ssh-keygen gerar o par de chaves e assiná-lo imediatamente, mas não faria sentido a partir de um PoV de segurança - não há necessidade de que a CA tenha acesso a a chave privada, muito menos se preocupar em distribuí-lo para o usuário / servidor. Deixe o usuário / servidor gerar seu próprio par de chaves em seu lugar.)

    
por 04.07.2017 / 08:26

Tags