Tipo de chave PubkeyAcceptedKeyTypes e ssh-dsa

12

Estou tentando testar a ordem em que as chaves são tentadas. Um dos usuários do sistema está usando o DSA, então estou tentando testá-lo como uma opção. Estou recebendo um Bad key types.

$ ssh -vv -p 1522 [email protected]
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /Users/jwalton/.ssh/config
/Users/jwalton/.ssh/config line 2: Bad key types 'ssh-ed25519,ecdsa-sha2-nistp256,ssh-dsa,ssh-rsa'.

Eu reduzi para baixo ssh-dsa. De acordo com ssh_config(5) (na verdade faz parte sshd_config(5), mas é listado como um novo ssh_configrecurso nas notas de versão do OpenSSH 7.0):

 The -Q option of ssh(1) may be used to list supported key types.

No entanto, não consigo fazê-lo funcionar:

riemann::~$ ssh -Q 
/usr/local/bin/ssh: option requires an argument -- Q
riemann::~$ ssh -Q dsa
Unsupported query "dsa"
riemann::~$ ssh -Q ssh-dsa
Unsupported query "ssh-dsa"
riemann::~$ ssh -Q ed25529
Unsupported query "ed25529"
riemann::~$ ssh -Q ssh-ed25529
Unsupported query "ssh-ed25529"
riemann::~$ ssh -Q PubkeyAcceptedKeyTypes
Unsupported query "PubkeyAcceptedKeyTypes"

Como se usa a ssh -Qopção?

Qual é o tipo de chave para ssh-dsa?

jww
fonte

Respostas:

14

A leitura das páginas de manual deve ajudá-lo:

 -Q cipher | cipher-auth | mac | kex | key | protocol-version

Consultas sshpara os algoritmos suportados para a versão especificada 2. Os recursos disponíveis são: cipher(cifras simétricas suportadas), cipher-auth(cifras simétricas suportadas que suportam criptografia autenticada), mac(códigos de integridade da mensagem suportados), kex(algoritmos de troca de chaves), key(tipos de chave) e protocol-version(versões de protocolo SSH suportadas).

Ligar ssh -Q keydá o que você deseja:

ssh -Q key
ssh-ed25519
[email protected]
ssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Este é um novo recurso do openssh-7.0, lembre-se de que ele não precisa funcionar em versões mais antigas.

ssh-dsaO tipo de chave é ssh-dsse está desativado por padrão nesta versão.

Jakuje
fonte
Obrigado. Em que página de manual você estava?
JWW
2
"o tipo de chave ssh-dsa é ssh-dss e está desativado por padrão nesta versão." OK, obrigado. Existe um motivo para ele estar desativado por padrão? O DSA2 possui segurança de 112 bits (equivalente ao RSA de 2048 bits), portanto, não é fraco / prejudicado como um módulo de 512 ou 768 bits. Além disso, o DSS inclui RSA e ECDSA, portanto é um DSA claramente desativador, e não o DSS.
JWW
1
Não está nas páginas de manual aqui com o Fedora 23 beta; mas a tecla ssh -Q funciona. Infelizmente, as chaves na minha máquina não são suportadas agora.
Mikebabcock 28/09/2015
3
@ PavelŠimerda Como isso está relacionado ao DNS? Você quer dizer DSA? É exatamente para isso que é a PubkeyAcceptedKeyTypesopção. Se você adicioná-lo ao seu ssh_config com +ssh-dssvalor, poderá aceitar chaves DSA no servidor. No servidor, você pode usar HostKeyAlgorithmscomo descrito nas notas da versão: openssh.com/txt/release-7.0
Jakuje 5/10/2015
1
@DavidFaure Ele não explica por que, ele foi desativado ele apenas diz que foi desativado e como lidar com isso
Jakuje
0

Para referência, uma resposta publicada em unix.stackexchange.com nos ajudou a corrigir o problema:

A nova versão do openssh (7.0+) descontinuou as chaves DSA e não está usando as chaves DSA por padrão (não no servidor ou no cliente). As chaves não são mais preferíveis para serem usadas, portanto, se você puder, recomendo usar as chaves RSA sempre que possível.

Se você realmente precisar usar chaves DSA, precisará explicitamente permiti-las na configuração do cliente usando

PubkeyAcceptedKeyTypes + ssh-dss Deve ser suficiente para colocar essa linha em ~ / .ssh / config, como a mensagem detalhada está tentando lhe dizer.

/unix//a/247614/39540

Meetai.com
fonte