テストシステムでは、パスワードなしのSSHのために維持したい古いid_dsa SSHキーがありますが、最近はSSHで動作しなくなりました。 「最新」には、SuSE Leap 42.2 - > 42.3 - > 15.0のアップグレードが含まれます。私の質問は、次が間違いなのか、間違いなのか、それとも意図的なものなのかということです.
b@e:~> openssl version
OpenSSL 1.1.0h-fips 27 Mar 2018
b@e:~> ssh-keygen -tdsa -f id_dsa_test
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_dsa_test.
Your public key has been saved in id_dsa_test.pub.
The key fingerprint is:
SHA256:6FAgJTbbKgccBg06364z2ATph0Zs+8rsmda7njArnk8 b@e
The key's randomart image is:
+---[DSA 1024]----+
|+==.o |
...
|=.%+. |
|=@=Oo |
+----[SHA256]-----+
b@e:~> openssl dsa -text -noout -in id_dsa_test
read DSA key
Private-Key: (1024 bit)
priv:
10:dd:1f:...
aa:af:5b:ad:06
pub:
22:c4:ff:...
52:70:4d:8b:4d:cf:ca:53:2f
Q:
00:82:6f:...
5e:1c:20:03:3d:6b
G:
4d:18:15:...
43:8e:d5:1f:7f:59:f7:e6
これまでは大丈夫でしたが:
b@e:~> ssh-keygen -Lf id_dsa_test
id_dsa_test:1: invalid key: invalid format
id_dsa_test:2: invalid key: invalid format
id_dsa_test:3: invalid key: invalid format
id_dsa_test:4: invalid key: invalid format
id_dsa_test:5: invalid key: invalid format
id_dsa_test:6: invalid key: invalid format
id_dsa_test:7: invalid key: invalid format
id_dsa_test:8: invalid key: invalid format
id_dsa_test:9: invalid key: invalid format
id_dsa_test:10: invalid key: invalid format
id_dsa_test:11: invalid key: invalid format
id_dsa_test:12: invalid key: invalid format
そして、元の証明書を使用しても新しく生成された証明書を使用しても、sshは常にパスワード認証に置き換えられます。
答え1
ssh-keygenオプションは、-L
通常のキーではなくOpenSSH証明書と連携します。これを試してみると、ssh-keygen -lf id_dsa_test
期待した結果が出ます。
また、あなたが見つけたように、DSAのサポートは中止されました。したがって、現在はDSAをサポートし続けるには明示的に更新する必要がありますが、ある時点でOpenSSHはこれらのキータイプのサポートを完全に削除する予定です。
キータイプがssh-dssのみを含むリストに置き換えるのではなく、デフォルトのリストに再度追加されるように「PubkeyAcceptedKeyTypes + ssh-dss」を使用するようにssh_configファイルを更新する必要があります。 ~/.ssh/config(hostsブロックの下)の代わりに/ etc / ssh_configに追加する場合は特にそうです。
バラよりhttps://security.stackexchange.com/questions/112802/why-openssh-deprecated-dsa-keys