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

Я пытаюсь проверить порядок, в котором пробуются ключи. Один из пользователей системы использует 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?

2 ответа

Решение

Чтение справочных страниц должно помочь вам:

 -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 и это отключено по умолчанию в этой версии.

Для справки, опубликованный на unix.stackexchange.com ответ помог нам решить эту проблему:

Новая версия openssh (7.0+) устарела ключи DSA и по умолчанию не использует ключи DSA (не на сервере или клиенте). Ключи больше не используются, поэтому, если вы можете, я бы рекомендовал использовать ключи RSA, где это возможно.

Если вам действительно нужно использовать ключи DSA, вам нужно явно разрешить их в конфигурации клиента, используя

PubkeyAcceptedKeyTypes + ssh-dss Должно быть достаточно, чтобы поместить эту строку в ~ /.ssh / config, как вам пытается сказать подробное сообщение.

https://unix.stackexchange.com/a/247614/39540

Другие вопросы по тегам