Тип ключа PubkeyAcceptedKeyTypes та ssh-dsa


12

Я намагаюся перевірити порядок, у якому пробуються ключі. Один з користувачів системи використовує DSA, тому я намагаюся перевірити це як варіант. Я отримую Bad key types.

$ ssh -vv -p 1522 jwalton@192.168.1.11
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'.

Я звузив його до ssh-dsa. Відповідно до ssh_config(5) (його фактично є частиною sshd_config(5), але зазначено як нову ssh_configособливість у примітках до випуску OpenSSH 7.0):

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

Однак я не можу зробити так:

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"

Як можна використовувати цей ssh -Qваріант?

Який ключовий тип для ssh-dsa?

Відповіді:


14

Читання сторінок з інструкціями має допомогти вам:

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

Запити sshна алгоритми, що підтримуються для вказаної версії 2. Доступними функціями є: cipher(підтримувані симетричні шифри), cipher-auth(підтримувані симетричні шифри, що підтримують автентифіковане шифрування), mac(підтримувані коди цілісності повідомлень), kex(алгоритми обміну ключами), key(типи ключів) та protocol-version(підтримуються версії протоколу SSH).

Виклик ssh -Q keyдає вам те, що ви хочете:

ssh -Q key
ssh-ed25519
ssh-ed25519-cert-v01@openssh.com
ssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
ssh-rsa-cert-v01@openssh.com
ssh-dss-cert-v01@openssh.com
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521-cert-v01@openssh.com

Це нова функція у openssh-7.0, тому пам’ятайте, що вона не повинна працювати в старих версіях.

ssh-dsaтип ключа ssh-dssі він відключений за замовчуванням в цій версії.


Спасибі. На якій сторінці чоловіка ви були?
jww

2
"тип ключа ssh-dsa - ssh-dss, і він відключений за замовчуванням у цій версії." - Добре, дякую. Чи є причина його відключення за замовчуванням? DSA2 має 112-бітову безпеку (еквівалентну 2048-бітовій RSA), тому її не слабкий / поранений, як 512-бітний або 768-бітний модулі. Також DSS включає RSA та ECDSA, тому його чітко вимикає DSA, а не DSS.
jww

1
Тут немає на сторінках чоловіка з бета-версією Fedora 23; але ключ ssh -Q працює. На жаль, ключі на моїй машині зараз не підтримуються.
mikebabcock

3
@ PavelŠimerda Як це пов’язано з DNS? Ви маєте на увазі DSA? Саме для цього є PubkeyAcceptedKeyTypesваріант. Якщо ви додасте його до своєї ssh_config зі +ssh-dssзначенням, ви зможете приймати ключі DSA на сервері. На сервері ви можете використовувати, HostKeyAlgorithmsяк описано в примітках до випуску: openssh.com/txt/release-7.0
Jakuje

1
@DavidFaure Це не пояснює чому, його відключили, він просто говорить, що його відключили і як з цим впоратися
Jakuje

0

Для довідки, відповідь, розміщена на unix.stackexchange.com, допомогла нам виправити проблему:

Нова відкрита версія (7.0+) застаріла клавішами DSA і не використовує клавіші DSA за замовчуванням (не на сервері чи клієнті). Ключі більше не вважають за краще використовувати, тому, якщо можете, я рекомендую використовувати ключі RSA, де це можливо.

Якщо вам дійсно потрібно використовувати ключі DSA, вам потрібно чітко дозволити їх у налаштуваннях вашого клієнта за допомогою

PubkeyAcceptedKeyTypes + ssh-dss Потрібно вистачити для того, щоб цей рядок був розміщений у ~ / .ssh / config, як багатослівне повідомлення намагається сказати вам.

/unix//a/247614/39540

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.