我有一个旧的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总是回到密码认证,不管我是使用我的原始证书还是新创建的证书.
发布于 2018-07-04 16:01:53
ssh-keygen的-L选项用于OpenSSH证书,而不是普通密钥。尝试使用ssh-keygen -lf id_dsa_test代替,这将产生您期望的输出。
另外,正如您所发现的,对DSA的支持是不可取的。所以现在,您需要显式地进行更新以继续支持DSA,但是在某个时候,OpenSSH正在计划完全消除对这些关键类型的支持。
您可能应该更新您的ssh_config文件以使用"PubkeyAcceptedKeyTypes + ssh-dss“,以便将键类型添加回默认列表,而不是将其替换为只包含ssh-dss的列表。如果将其添加到/etc/ssh_config,而不是添加到~/.ssh/config (在主机块下),则尤其如此。
请参阅https://security.stackexchange.com/questions/112802/why-openssh-deprecated-dsa-keys
https://unix.stackexchange.com/questions/453447
复制相似问题