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, как вам пытается сказать подробное сообщение.