首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SSH服务器在与Putty连接时提供"userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]“。

SSH服务器在与Putty连接时提供"userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]“。
EN

Unix & Linux用户
提问于 2022-10-19 13:03:43
回答 3查看 27.7K关注 0票数 25

我在AWS中构建了一个新的Ubuntu服务器。由于某种原因,我在其他Ubuntu服务器上工作的私钥没有为她工作。auth.log中的错误是

userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

这只是Putty的一个问题,如果我尝试通过linux工作站登录,那么任何机器都不存在任何问题。

我看到的区别是新服务器是

运行OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022的Ubuntu22.04.1 LTS

工作(旧)服务器是

运行OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 Mar 2020的Ubuntu20.04.4LTS(焦点Fossa)

这个版本的OpenSSH有什么变化吗?我怎么才能让腻子再工作一次?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2022-11-21 11:04:41

一个简单的解决方案。

/etc/ssh/sshd_config中添加这一行。

代码语言:javascript
运行
复制
PubkeyAcceptedAlgorithms +ssh-rsa

然后,重新启动sshd服务,使新设置生效。

代码语言:javascript
运行
复制
$ sudo systemctl restart sshd
票数 23
EN

Unix & Linux用户

发布于 2022-10-22 17:17:44

SSH协议中有几种类型的密钥和签名算法。具有密钥类型ssh-rsa的RSA密钥可用于使用SHA-1 (在这种情况下,签名类型为ssh-rsa)、SHA-256 (具有签名类型rsa-sha2-256)或SHA-512 (签名类型为rsa-sha2-512)进行签名。

您在这里看到的是,您正在连接一个RSA密钥,并使用带有SHA-1的ssh-rsa签名类型。不幸的是,SHA-1已不再安全,服务器正在告诉您它不会接受该签名类型。这是正确的做法,因为它避免了任何安全问题。

你可以用几种不同的方法解决这个问题。首先,您可以简单地升级PuTTY。最新的版本支持SHA-2签名算法(SHA-256和SHA-512),所以事情应该是正常的。您还可以生成一个不同的SSH密钥,例如,一个Ed25519密钥,这是Mozilla、GitHub和其他知名方最推荐的选项。请注意,PuTTY将这些作为EdDSA键进行分类,这是一个更通用的术语;您需要255或256位选项。

您还可以在服务器端调整PubkeyAcceptedKeyTypes中的/etc/ssh/sshd_config以包括ssh-rsa (如果这样做,还应该在ssh -Q sig中包括所有其他选项)。但是,这意味着您使用的是不安全的SHA-1签名,因此您可能希望选择其他选项之一。

票数 16
EN

Unix & Linux用户

发布于 2023-05-19 07:39:18

从评论上看,但不够明显,并且在与安全性进行权衡之前,最好检查其他简单的方法是否有效。

在服务器端进行任何更改之前,请尝试将putty更新为最新版本。在我的例子中,0.78版本解决了这个问题,没有在服务器端或键上进行任何更改。

我在腻子ChangeLog文件中找不到真正的原因。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/721606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档