VS Code 远程 SSH 连接不起作用

000*_*000 10 ssh remote-access visual-studio-code

我正在尝试在第二台电脑上使用远程开发扩展设置 vscode。虽然它适用于我的主要,但不适用于第二个。尝试重新安装 vscode、扩展和使用旧版本,但没有任何效果。

尝试连接时,它在选择 os. 所以我什至不能输入密码。我以与另一台电脑完全相同的方式进行设置。

有任何想法吗?

[20:32:53.595] remote-ssh@0.55.0
[20:32:53.595] win32 x64
[20:32:53.596] SSH Resolver called for "ssh-remote+ssh.blabla", attempt 1
[20:32:53.597] SSH Resolver called for host: ssh.blabla
[20:32:53.597] Setting up SSH remote "ssh.blabla"
[20:32:53.610] Using commit id "58bb7b2331731bf72587010e943852e13e6fd3cf" and quality "stable" for server
[20:32:53.612] Install and start server if needed
[20:32:54.639] Checking ssh with "ssh -V"
[20:32:54.686] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5

[20:32:54.691] Running script with connection command: ssh -T -D 52819 ssh.blabla bash
[20:32:54.694] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[20:32:54.758] >
]0;C:\WINDOWS\System32\cmd.exe
[20:32:54.758] Got some output, clearing connection timeout
[20:32:54.785] >
[20:32:55.045] > root@blabla's password: 
[20:32:55.045] Showing password prompt
[20:32:57.596] "install" terminal command done
[20:32:57.597] Install terminal quit with output: root@blabla's password: 
[20:32:57.597] Received install output: root@blabla's password: 
[20:32:57.598] Stopped parsing output early. Remaining text: root@blabla's password:
[20:32:57.598] Failed to parse remote port from server output
[20:32:57.603] Resolver error: Error: 
    at Function.Create (c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:1:130564)
    at Object.t.handleInstallOutput (c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:1:127671)
    at I (c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:106775)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
    at async c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:104774
    at async Object.t.withShowDetailsEvent (c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:109845)
    at async Object.t.resolve (c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:107960)
    at async c:\Users\Manuel.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:141955
[20:32:57.606] ------




[20:32:59.376] Password dialog canceled
[20:32:59.376] "install" terminal command canceled```
Run Code Online (Sandbox Code Playgroud)

Moh*_*lal 91

根据您所在的系统,当您第一次尝试连接时,将在您的服务器上设置并配置 vscode-server。

在linux中可以是/Home/<user>/.vscode-server

如果您使用的是 Windows,请检查那是什么。

第一个解决方案是尝试扩展命令:Remote-SSH: kill VS Code Server on Host

打开命令托盘(CTRL + SHIFT + PCOMMAND + SHIFT + P(mac))。

并输入Remote kill

在此输入图像描述

然后再次尝试连接!(这将杀死主机上的服务器!这将使它在下一次尝试时再次启动)

如果这不起作用,并且事情仍然失败:

删除,r​​m

那么一个可行的好解决方案是:通过终端(vscode 终端、gnome 终端等)连接到服务器。然后去删除/Home/<user>/.vscode-server

之后尝试连接。在尝试时,服务器将完全重新安装,很可能它会起作用。(我这样做了,它对我有用,所以无论 vscode 服务器上出了什么问题:只需从头开始)

但同样:你会丢失一些东西,配置,元数据等(因为你重新开始)。

更新:

正如@natevw 在评论中所述:

我发现仅删除子.vscode-server/bin文件夹有助于解决问题,并且保留我的数据/设置。

仅删除vscode-server/bin似乎效果很好,配置、元数据等保持不变。

  • 我发现仅删除“.vscode-server/bin”子文件夹有助于理顺事情,并且保留了我的数据/设置。 (4认同)
  • rm /Home/&lt;user&gt;/.vscode-server 为我工作。谢谢 (3认同)

Sre*_*noy 22

对我有用的一种方法是在 vscode 设置(JSON)文件中添加这一行。

"remote.SSH.useLocalServer": false

VSCode 设置


小智 16

我遇到了同样的问题。完成这些步骤后,它起作用了:

在远程服务器上:

rm -rf ~/.vscode-server  
rm -rf ~/.vscode
Run Code Online (Sandbox Code Playgroud)

在本地VS代码上:

reinstall remote-ssh
Run Code Online (Sandbox Code Playgroud)


小智 11

rm -rf $HOME/.vscode-server在远程机器上将 Remote-SSH 插件降级到 0.51.0 。再次连接,VSCode 将下载并安装一个新的 .vscode-server。然后升级 Remote-SSH 插件,一切正常。

  • 那对我不起作用。 (4认同)

oca*_*eau 7

如果上述所有方法都失败了,以下是我解决问题的方法。

首先,我能够使用简单的 bash 终端通过 SSH 连接到我的远程服务器(Ubuntu 22.04、Raspberry Pi 4、arm64)。所以我使用我的终端(macOS)登录,然后我去了

cd $HOME/.vscode-server/bin/WHATEVER-HASH-YOU-HAVE/
Run Code Online (Sandbox Code Playgroud)

在该目录下,有一个名为server.sh. 我尝试运行此脚本,但出现以下错误:

./node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

问题很清楚:我的系统上缺少共享库。Node.js 现在需要该功能,或者需要新版本的 SSH-Remote 扩展;我不知道。我没有花时间深入研究这些细节。

但为了解决这个问题,我简单地做了:

cd $HOME/.vscode-server/bin/WHATEVER-HASH-YOU-HAVE/
Run Code Online (Sandbox Code Playgroud)

这安装了丢失的共享库。

之后,我删除$HOME/.vscode-server

./node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

并再次尝试使用 VSCode 连接。有效!

希望这可以帮助像我这样所有其他选择都失败的人。