通过 ssh 远程调试 .net core 2.0 控制台应用程序

Remote debugging .net core 2.0 console app over ssh

我正在 windows 10 上构建一个 .net core 2.0 控制台应用程序,但我想在远程 linux 服务器 运行 debian 9.

上调试它

我找到了这篇文章:

https://blogs.msdn.microsoft.com/devops/2017/01/26/debugging-net-core-on-unix-over-ssh/

但我卡住的地方是选择 SSH 连接。我的远程服务器有身份验证,如果我输入 user@ip:port 它找不到任何东西。

我发现有人提到使用 SSH 隧道,但由于服务器上没有侦听 dotnet 进程(它已安装但没有任何侦听服务 运行 我可以看到)我不确定到底是什么port I'm meant to be tunneling or even which direction to tunneling it.

我需要做什么才能让我的 SSH 连接在调试器中可见?

我刚刚尝试了这个,我发现 Find.. 按钮也没有任何作用。

首先在 Linux 主机中启用 SSH 连接(在我的情况下,Ubuntu,我必须 运行 sudo ufw allow ssh)。通过在 Windows 上打开 cmd 并执行 ssh user@host.

来测试

然后,在 Visual Studio 上,在 SSH 附加到进程 window 中,确保点击 "refresh" 并选中 "show processes from all users" 框。您应该看到 "dotnet" 进程 运行ning.

编辑:系统会在某个时刻提示您输入远程主机的密码。这是我在远程主机上更改密码然后尝试调试时显示的对话框。