Visual Studio 连接管理器不接受私钥

Fal*_*Ger 6 ssh authentication visual-studio visual-studio-2022

我希望将 Visual Studio (2022) 连接到我的笔记本电脑以交叉编译 C++ 项目。但是我有一个问题。它不接受连接。

我读过另一个问题,Visual Studio 仅接受 PEM 格式的 rsa 密钥,因此我使用ssh-keygen -m PEM -t rsa -b 4096. 我尝试过使用和不使用 pem 格式的各种不同密钥大小(1024、2048、4096、8192)以及带或不带密码短语。我通过将公钥添加到我的 ubuntu 笔记本电脑上的授权密钥文件中并使用生成的密钥 ( ssh -i <key_file>user@host) 从 WSL2 连接来测试了其中的每一个密钥。每次都有效。

我还读过这个问题,您应该使用 puttygen 生成密钥,然后导出 openssh 密钥。我也尝试过,有或没有密码短语,但仅使用默认密钥大小。再次使用这些键从 WSL2 的 bash 终端进行连接可以正常工作,但我无法在 MSVS 中进行连接。

来自 Visual Studio 连接管理器的错误消息也没有任何意义。当我单击“连接”时,它要求我确认主机的指纹,并将其添加到已知的主机文件中。当我单击“是”时,连接管理器的输入字段会变成红色。将鼠标悬停在红色字段上会产生结果:

对于“主机名:”以及“端口:”

协商主机密钥算法失败。仅支持 RSA 和 DSA 主机密钥。

我不太确定这意味着什么。我的主机在其 home/.ssh 目录中有一个 rsa 密钥文件格式。Visual Studio 在第一次连接时表示密钥指纹是“ecdsa-sha2-nistp256”,根据文档支持该指纹。

对于“私钥文件:”

使用私钥“<密钥路径>”连接时发生错误。

之前使用带有空密码的密钥时,密码也被标记为红色,现在该指示消失了。

需要做什么才能使其发挥作用?

在此输入图像描述

小智 1

我遇到了类似的问题,就我而言,我正在尝试连接到 ubuntu 服务器。

systemctl status ssh当我尝试连接 Visual Studio 时检查 sshd 服务状态 ( ),出现以下错误:

userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Run Code Online (Sandbox Code Playgroud)

然后我将这一行添加PubkeyAcceptedAlgorithms +ssh-rsa/etc/ssh/sshd_config文件中,然后重新启动 sshd 服务(在服务器计算机中)

进行此更改后,我可以使用 Visual Studio 连接到服务器。

一些参考: