无法建立与“主机名”的连接。 (VSCode 中的远程 SSH 问题)(CentOS7)

问题描述 投票:0回答:8

[已解决!!]

  • 服务器操作系统: CentOS Linux 7
  • VSCode 版本(本地): 1.59.1

我通过 ssh 连接到我的服务器

ssh [email protected]

我尝试通过本地打开 VSCode,并使用 Remote-SSH -> Connected to SSH -> type [email protected]

然后得到无法建立与“@ln01.twcc.ai”的连接。错误块 输出如下

[11:37:51.572] Log Level: 2
[11:37:51.574] [email protected]
[11:37:51.574] win32 x64
[11:37:51.575] SSH Resolver called for "ssh-remote+...", attempt 1
[11:37:51.575] "remote.SSH.useLocalServer": false
[11:37:51.575] "remote.SSH.showLoginTerminal": false
[11:37:51.575] "remote.SSH.remotePlatform": {}
[11:37:51.575] "remote.SSH.path": undefined
[11:37:51.575] "remote.SSH.configFile": undefined
[11:37:51.575] "remote.SSH.useFlock": true
[11:37:51.576] "remote.SSH.lockfilesInTmp": false
[11:37:51.576] "remote.SSH.localServerDownload": auto
[11:37:51.576] "remote.SSH.remoteServerListenOnSocket": false
[11:37:51.576] "remote.SSH.showLoginTerminal": false
[11:37:51.576] "remote.SSH.defaultExtensions": []
[11:37:51.576] "remote.SSH.loglevel": 2
[11:37:51.576] SSH Resolver called for host: ssh [email protected]
[11:37:51.576] Setting up SSH remote "ln01.twcc.ai"
[11:37:51.592] Using commit id "..." and quality "stable" for server
[11:37:51.595] Install and start server if needed
[11:37:56.696] Checking ssh with "ssh -V"
[11:37:56.726] > OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

[11:37:56.729] Running script with connection command: ssh -T -D 53574 "ssh [email protected]" bash
[11:37:56.731] Terminal shell path: C:\Windows\System32\cmd.exe
[11:37:56.948] > ]0;C:\Windows\System32\cmd.exe
[11:37:56.948] Got some output, clearing connection timeout
[11:37:57.376] > 

[11:37:59.421] > ssh [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with
> -mic,keyboard-interactive).
[11:37:59.434] > 程序嘗試寫入到一個不存在的管道。
[11:38:00.713] "install" terminal command done
[11:38:00.714] Install terminal quit with output: 程序嘗試寫入到一個不存在的管道。
[11:38:00.714] Received install output: 程序嘗試寫入到一個不存在的管道。
[11:38:00.714] Failed to parse remote port from server output
[11:38:00.715] Resolver error: Error: 
    at Function.Create (c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:64659)
    at Object.t.handleInstallOutput (c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:63302)
    at Object.t.tryInstall (c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:415135)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:294918
    at async Object.t.withShowDetailsEvent (c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:406463)
    at async Object.t.resolve (c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:1:295994)
    at async c:\Users\ASUS\.vscode\extensions\ms-vscode-remote.remote-ssh-0.65.7\out\extension.js:127:110656
[11:38:00.718] ------

总结

  • 当我尝试通过本地 VSCode 进行远程 ssh 时,出现 Disconnected from SSH Error

Error Block

visual-studio-code ssh remote-server
8个回答
11
投票

尝试删除保存在 known_hosts 文件中的指纹(与此特定连接相对应的单行,而不是整个文件)。如果在 Windows 中,则位于

C:\Users\<your_user_name>\.ssh\known_host
,而对于 Linux,则位于
/home/<your_user_name>/.ssh/known_hosts
目录内。

由于更详细,您可能也想检查这个answer


6
投票

这对我有用:

  1. 打开 VS code 上的命令面板(对于 Windows 为
    Ctrl+Shift+P
    ,对于 Mac 为
    Cmd+Shift+P
    )。
  2. 搜索
    Kill VS Code Server on Host
    ,点击它 - 它将被自动删除。
  3. 重新加载 VS Code 并再次建立连接。

欲了解更多详情,请访问这里


2
投票

我通过在远程处理之前先编写 SSH 配置文件来解决这个问题。

如果您通过 ssh 连接到服务器,例如:

ssh [email protected] -p 22

那么配置文件将是:

Host MyHostName
    HostName 123.456.78.999
    User Amy
    Port 22

参考:https://github.com/microsoft/vscode-remote-release/issues/3968


0
投票

如果

Kill VS Code Server on Host
没有帮助(在您尝试过之后!),则通过以下方式在本地计算机上进行刷新:

  1. 删除
    ~/.vscode
  2. 删除
    ~/.config/Code

然后重新安装最新版本的 VSCode。会起作用的。


0
投票

是的,当我将 VS code 更新到最新版本 1.75.1 时,我也遇到了同样的问题 面临问题“连接失败 XSH 问题”

这是因为 VS code 尝试连接的 Linux 机器存在代理问题。

解决方案:

  1. '导航到Linux机器-->并执行以下操作 [用户@linuxmachineip]:cd .vs code-server/(导航到 vs code-sever 文件夹)
  2. [用户 @linuxmachineip .vs 代码服务器] : SU - (以 Root 用户身份登录)
  3. [user @linuxmachineip .vs code-server] : cd /etc/profile.d (导航到 etc/profile.d 文件夹)
  4. [user@linuxmachineip .vscode-server] : mv proxy.sh.off proxy.sh (将 proxy.sh.off 重命名为 proxy.sh ***** 因为这将使您的 vscode 能够连接到互联网以下载所有必需的内容profile.d 文件夹中的文件)
  5. 现在重新启动 VS code 并尝试连接。 (现在将连接) 然后再次回到 Linux 机器
  6. [user@linuxmachineip .vscode-server] mv proxy.sh proxy.sh.off(将 proxy.sh 重命名为 proxy.sh.off *****,因为这将再次禁用)'

0
投票

就我而言,问题是服务器上没有可用磁盘空间(vscode 中的登录也不同)。

可以通过以下方式检查磁盘使用情况:

df -h


0
投票

我必须将 powershell 添加到我尝试连接的计算机上的系统路径。您可以通过在该计算机上的 cmd 中键入 powershell 来快速检查是否需要执行此操作,如果您收到类似“Powershell' 未被识别为内部或外部命令”之类的错误,则将此变量添加到路径 %SYSTEMROOT%\System32\ WindowsPowerShell 1.0\

将 %SYSTEMROOT% 替换为该计算机上 system32 之前的路径。

如何添加到路径:https://www.mathworks.com/matlabcentral/answers/94933-how-do-i-edit-my-system-path-in-windows


-2
投票

这个问题我已经遇到过很多次了。重新启动 vscode 程序总能解决我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.