我有一个在 Debian 服务器上运行的 .NET 5 应用程序,我想将调试器附加到该服务器上。我尝试使用的调试器是集成到 Visual Studio 2019 中的调试器。
我满足文档中列出的所有先决条件。
设置新连接时,密码连接有效。然而,我使用私钥的尝试都没有产生可用的连接。
在 Visual Studio 之外通过 PuTTY 和 Windows OpenSSH 二进制文件进行连接时,此私钥效果很好。因此,底层 SSH 工具似乎已正确设置。
导致
%LocalAppData%\devenv_exe_linux_connection_error_133651_090121.log
仅包含文本
Bad Data.
空密码框上还显示 Passphrase invalid
与未受保护的密钥完全相同的结果。
Bad Data.
和
Passphrase invalid
。
主机/端口文本框报告
Failed to negotiate host key algorithm. Only RSA and DSA host keys are supported.
(服务器有可用的ecdsa/ed25519/rsa主机密钥,并且密码验证也接受了ecdsa主机密钥)私钥文件文本框报告
An error occurred connecting using private key ...
Passphrase invalid
与未受保护的密钥完全相同的结果。
Failed to negotiate host key algorithm.
/
An error occurred connecting using private key
/
Passphrase invalid
。
理想情况下,我想使用存储在与 Pageant 兼容的 KeeAgent 中的密钥,该密钥也通过与 OpenSSH 兼容的套接字公开。但我会满足于通过文件工作获取私钥。
Conversions
菜单中,选择
Export OpenSSH key
private key
,然后选择上面导出的文件作为私钥。设置您之前使用的密码。
Connect
按钮,它应该打印类似“连接已验证”的内容
Connection type
= SSH 并选择您刚刚配置的
Connection target
,它应该能够显示远程进程并让您附加。
1 - 在 power-shell 中创建私钥并使用命令行添加密码:
ssh-keygen -t rsa -b 4096
3 - 打开 PuTTYgen,加载您的私钥,然后转到 Conversions->Export OpenSSH
并导出您的私钥