0

我正在尝试通过 VSCode 上的 ssh 连接到我的本地 Windows 机器。

它直接从 CLI 立即连接:

➜  ~ ssh windows
johnpc@DESKTOP-U5QAQJ4 MINGW64 ~
$ ls
# my windows files appear

windows 主机在我的 ssh 配置中配置如下:

Host windows
    HostName 192.168.7.208
    User johnpc
    IdentityFile ~/.ssh/id_rsa

但是,当我尝试使用 Remote-SSH VSCode 扩展连接到此主机时,我得到以下输出,然后是“连接超时”错误。

[12:14:05.084] Log Level: 2
[12:14:05.086] remote-ssh@0.65.8
[12:14:05.086] darwin x64
[12:14:05.087] SSH Resolver called for "ssh-remote+windows", attempt 1
[12:14:05.088] "remote.SSH.useLocalServer": true
[12:14:05.088] "remote.SSH.path": undefined
[12:14:05.088] "remote.SSH.configFile": undefined
[12:14:05.089] "remote.SSH.useFlock": true
[12:14:05.089] "remote.SSH.lockfilesInTmp": false
[12:14:05.089] "remote.SSH.localServerDownload": auto
[12:14:05.089] "remote.SSH.remoteServerListenOnSocket": false
[12:14:05.089] "remote.SSH.showLoginTerminal": false
[12:14:05.090] "remote.SSH.defaultExtensions": []
[12:14:05.090] "remote.SSH.loglevel": 2
[12:14:05.090] SSH Resolver called for host: windows
[12:14:05.090] Setting up SSH remote "windows"
[12:14:05.094] Acquiring local install lock: /var/folders/33/_y9rjvqs5qb_9kqnjkdsqmn00000gr/T/vscode-remote-ssh-d59726ea-install.lock
[12:14:05.097] Looking for existing server data file at /Users/xss/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-d59726ea-7f6ab5485bbc008386c4386d08766667e155244e-0.65.8/data.json
[12:14:05.099] Using commit id "7f6ab5485bbc008386c4386d08766667e155244e" and quality "stable" for server
[12:14:05.103] Install and start server if needed
[12:14:05.112] PATH: /usr/bin:/bin:/usr/sbin:/sbin
[12:14:05.113] Checking ssh with "ssh -V"
[12:14:05.122] > OpenSSH_8.1p1, LibreSSL 2.7.3

[12:14:05.135] askpass server listening on /var/folders/33/_y9rjvqs5qb_9kqnjkdsqmn00000gr/T/vscode-ssh-askpass-7c5258e395d834dd29687f462a9d8b0f6991a74c.sock
[12:14:05.152] Spawning local server with {"serverId":1,"ipcHandlePath":"/var/folders/33/_y9rjvqs5qb_9kqnjkdsqmn00000gr/T/vscode-ssh-askpass-0574ebf0bc7748cd079f9c7446cf741428682ad7.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","49840","-o","ConnectTimeout=15","windows"],"dataFilePath":"/Users/xss/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-d59726ea-7f6ab5485bbc008386c4386d08766667e155244e-0.65.8/data.json"}
[12:14:05.152] Local server env: {"DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/Users/xss/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.8/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer)","VSCODE_SSH_ASKPASS_MAIN":"/Users/xss/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.8/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/var/folders/33/_y9rjvqs5qb_9kqnjkdsqmn00000gr/T/vscode-ssh-askpass-7c5258e395d834dd29687f462a9d8b0f6991a74c.sock"}
[12:14:05.155] Spawned 50798
[12:14:05.280] > local-server-1> Spawned ssh, pid=50799
[12:14:05.298] stderr> OpenSSH_8.1p1, LibreSSL 2.7.3
[12:14:05.696] stderr> debug1: Server host key: ecdsa-sha2-nistp256 SHA256:de8MMkFj9OesKnoJGzuHZlBRw9BfkLCD2Rvpn2jtY6g
[12:14:06.104] stderr> Authenticated to 192.168.7.208 ([192.168.7.208]:22).
[12:14:06.490] > ready: f87615babce1
[12:14:06.591] > MINGW64_NT-10.0-19042 3.1.7-340.x86_64 2021-03-26 22:17 UTC

连接超时截图

任何想法可能会发生什么?感觉特别奇怪,因为消息看起来一切都成功了,但仍然作为标准错误发出?stderr> Authenticated?

4

2 回答 2

1

我想通了(有点)。只有在将 Powershell 配置为 Windows 中的默认 ssh shell 时,Remote-SSH 似乎才有效。

在 Windows 机器上,我必须运行:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

以前,我一直使用 git-bash 作为默认终端(这是我更喜欢的):

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Prog
ram Files\Git\bin\bash.exe" -PropertyType String -Force

现在每次登录时,我都必须运行& 'C:\Program Files\Git\bin\bash.exe'才能到达 git-bash shell。

于 2021-10-05T16:45:00.710 回答
0

你检查过你的防火墙/防病毒软件吗?

如果没有答案,即使是本地的,也会出现超时。(如果您想禁用防火墙完成测试,请小心。)

于 2021-10-05T16:46:11.073 回答