首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用用SSH2转换的工作密钥(由于不推荐使用ssh-rsa?),SSH2无法进行身份验证。

使用用SSH2转换的工作密钥(由于不推荐使用ssh-rsa?),SSH2无法进行身份验证。
EN

Server Fault用户
提问于 2022-07-27 15:00:46
回答 1查看 1.5K关注 0票数 2

我有一个使用AWS生成的密钥对进行身份验证的EC2实例。

使用Putty,我可以通过在PPK文件中提供私钥来连接到实例。

当我尝试使用SSH2 (通过NodeJs包装器之一,例如通过'ssh2-sftp-client‘模块)时,它失败时会出错:

getConnection: All configured authentication methods failed

实例上的auth.log报告,

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

我知道OpenSSH反对ssh-rsa,但我仍然不确定这里有什么问题:

  • ssh似乎意味着许多事情,而且似乎只有SHA1被否决了。我的钥匙是SHA256,正如PuttyGen报告的那样,所以应该仍然有效,不是吗?
  • 如果我理解正确,从ppk到pem只是改变文件的布局和编码,而不是键值本身。如果拒绝的是OpenSSH服务器,为什么Putty可以正常工作?

从PPK转换到PEM会改变密钥的类型吗?如果是这样,我如何将PPK转换为PPK,而不是ssh-rsa?

SSH (服务器)版本是OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022

-编辑,因为我还不能发表评论--

@Tanjin Alam的答案是正确的,在AWS中,这可以通过在启动模板中的User Data字段中添加以下文本来自动完成:

代码语言:javascript
复制
#!/bin/bash
sed -i '$aPubkeyAcceptedKeyTypes=+ssh-rsa' /etc/ssh/sshd_config
service sshd restart
EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-12-01 09:58:18

转到

代码语言:javascript
复制
/etc/ssh #goto this directory
sudo nano sshd_config #edit the file
PubkeyAcceptedKeyTypes=+ssh-rsa #add this line and save and quit 
sudo systemctl restart sshd #restart sshd

再试一次它会起作用的

参考资料:点击这里

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

https://serverfault.com/questions/1106758

复制
相关文章

相似问题

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