首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有公钥身份验证的VSCode liximomo跳

具有公钥身份验证的VSCode liximomo跳
EN

Stack Overflow用户
提问于 2022-02-01 03:22:32
回答 1查看 1.3K关注 0票数 0

我们的网络主机已经升级到OpenSSH 8.8,这导致公钥失败。例如,Putty 0.74不能使用SSH私钥授权,而Putty 0.76可以授权。

我假设liximomo也有同样的问题,所以我试图通过使用OpenSSH 8.0到系统的hop来解决这个问题,然后从那里跳到web主机。

我的第一次尝试是假设sftp将转发代理连接,因此我使用了这个sftp.json:

代码语言:javascript
复制
{
"name": "Pair",
"host": "my.server.com",
"port": 822,
"protocol": "sftp",
"username": "steve",
"agent": "$SSH_AUTH_SOCK",

"hop": {
    "host": "webhost.pairserver.com",
    "protocol": "sftp",
    "port": 22,
    "username": "company",
    "remotePath": "public_html"
}
}

这将我带到我的服务器,但是在尝试跃点时,它失败了,因为“所有身份验证方法都失败了”。

我认为这是因为代理转发不起作用,所以我在服务器上放置了一个私钥,它将验证我到key主机上的身份。我知道密钥的工作原理,因为我可以登录到服务器,并使用该键在命令行上运行ssh。但是,它仍然失败了,出现了这样的错误:

代码语言:javascript
复制
[01-31 18:43:22] [error] Error: [webhost.pairserver.com]: All configured authentication methods failed
EN

回答 1

Stack Overflow用户

发布于 2022-02-04 23:31:38

我找到了答案: SSH使用“主机密钥算法”为主机密钥和公钥身份验证生成签名。SSH客户端和服务器通常在此列表中包含"ssh-rsa“。

"ssh-rsa“算法使用SHA-1,该算法在2017年被打破。因此,继续使用此算法进行公钥身份验证是不安全的。但是,它仍然在服务器的“主机密钥算法”列表中,因为它也用于主机密钥。对主机密钥使用损坏的SHA-1算法不能作为SSH服务器进行破解。(理论上,它可以用来模拟SSH服务器,但这并不是很高的风险,因为大多数用户都盲目地接受新的主机密钥。)因此,OpenSSH 8.8仍然在“主机密钥算法”列表中包含"ssh-rsa“,但是"ssh-rsa”算法提供的公钥将被忽略,就好像该密钥不在authorized_keys文件中一样。

较早的SSH客户端不包括"ssh-rsa2-*“算法,因此它们将继续使用"ssh-rsa”提供公钥签名,这将被忽略。

重新配置OpenSSH 8.8主机以接受"ssh-rsa“作为公钥签名可能是不可能的,并且出于安全原因不推荐,并且可能不会被托管公司所允许。

对于这个问题,有两种解决方案:

将客户端升级到具有"ssh-rsa2-*“algorithms;

  • Switch的现代版本,使其成为ECDSA密钥.

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

https://stackoverflow.com/questions/70935242

复制
相关文章

相似问题

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