我最近收到了一台装有 macOS Ventura 13.1 的新 MacBook (M1)。我想远程连接到 Windows 10 服务器,但每次都无法使用这台新 MacBook 进行连接。我最初的想法是,这可能是由于 ssh 版本不兼容造成的,因为我的 MacBook 有,OpenSSH_9.0p1, LibreSSL 3.3.6
而 Windows 服务器有OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
。但是,我能够连接到具有更旧版本的 ssh 的 Linux 服务器 - OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
。
我还可以通过终端 ssh 连接到 Windows 服务器,没问题。
在 VSCode 上连接到 Windows 服务器时,输入密码后出现
无法与“aaa-bbb”建立连接:SSH 连接超时。
VSCode 上显示的部分输出如下所示
[x] > local-server-1> Running ssh connection command: "-v -T -D ... -o ConnectTimeout=15 aaa-bbb"
[x] > local-server-1> Spawned ssh, pid=...
[x] stderr> OpenSSH_9.0p1, LibreSSL 3.3.6
[x] stderr> debug1: Server host key: ssh-... ...
[x] Got askpass request: {"request":"uid@aaa-bbb password:"}
[x] Showing password prompt
[x] Listening for interwindow password on ... ...
[x] Writing password prompt to globalState
[x] Got password response
[x] Interactor gave response: ***************
[x] Cleaning up other-window auth server
[x] stderr> Authenticated to aaa-bbb (... ...) using "password".
[x] > ready: ...
[x] > MINGW64_NT-10.0-19044 3.1.7-340.x86_64 2021-03-26 22:17 UTC
[x] Terminating local server
[x] Resolver error: Error: Connecting with SSH timed out
at g.Timeout (/Users/myuser/.vscode/extensions/ms-vscode-remote.remote-ssh-0.94.0/out/extension.js:...)
at Timeout._onTimeout (/Users/myuser/.vscode/extensions/ms-vscode-remote.remote-ssh-0.94.0/out/extension.js:...)
at listOnTimeout (node:internal/timers:...)
at process.processTimers (node:internal/timers:...)
[x] Local server exit: 15
[x] ------
更新ssh -v -T -D 51756 -o ConnectTimeout=15 aaa-bbb
:在终端上尝试(如上面的输出所示)后,我得到了debug1: update_known_hosts: known hosts file /Users/llc10/.ssh/known_hosts2 does not exist
。
ssh -v -D 51756 -o ConnectTimeout=15 aaa-bbb
-T
工作正常,并且已连接到服务器。这是导致上述问题的原因吗?如果是这样,在 VS Code 上连接到服务器时如何避免使用?
更新 #2:目前似乎无法在 VS Code 中排除 -T 命令。参考链接
有办法实现这个吗?