PubkeyAcceptedKeyTypesおよびssh-dsaキータイプ


12

キーが試行される順序をテストしようとしています。システムのユーザーの1人が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のキータイプは何ですか?

回答:


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が含まれているため、DSSではなくDSAを明らかに無効にします。
jww

1
Fedora 23ベータ版のマニュアルページにはありません。ただし、ssh -Qキーは機能します。残念ながら、私のマシンのキーは現在サポートされていません。
ミケバブコック

3
@PavelŠimerdaこれはDNSとどのように関連していますか?DSAのことですか?これはまさにPubkeyAcceptedKeyTypesオプションです。+ssh-dss値でssh_configに追加すると、サーバーでDSAキーを受け入れることができるはずです。サーバーでHostKeyAlgorithmsは、リリースノートの説明に従って使用できます:openssh.com/txt/release-7.0
Jakuje

1
それは理由を説明しない@DavidFaure、それはちょうどそれが無効になっていたし、それをどのように処理するかを言う無効になっていた
Jakuje

0

参考のため、unix.stackexchange.comに投稿された回答が問題の解決に役立ちました。

新しいopensshバージョン(7.0+)は非推奨のDSAキーであり、デフォルトでは(サーバーまたはクライアントではなく)DSAキーを使用していません。キーはもう使用することは好ましくないため、可能であれば、RSAキーを使用することをお勧めします。

本当にDSAキーを使用する必要がある場合は、クライアント設定で明示的に許可する必要があります。

PubkeyAcceptedKeyTypes + ssh-dss冗長メッセージがあなたに伝えようとしているので、その行を〜/ .ssh / configに入れるのに十分なはずです。

/unix//a/247614/39540

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.