无法与 "hostname" 建立连接。 (VSCode 中的远程 SSH 问题)(CentOS7)

Could not establish connection to "hostname". (Remote-SSH problem in VSCode ) (CentOS7)

[已解决!!]

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

ssh ...@ln01.twcc.ai

我尝试通过本地打开 VSCode,并使用 Remote-SSH -> 连接到 SSH -> 输入 ...@ln01.twcc.ai

然后得到Could not establish connection to "@ln01.twcc.ai".错误块 输出如下

[11:37:51.572] Log Level: 2
[11:37:51.574] remote-ssh@0.65.7
[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 ...@ln01.twcc.ai
[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 ...@ln01.twcc.ai" 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 ...@ln01.twcc.ai: 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] ------

总结

Error Block

我通过编写 SSH 配置文件解决了这个问题

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

ssh Amy@123.456.78.999 -p 22

那么配置文件将是:

Host MyHostName
    HostName 123.456.78.999
    User Amy
    Port 22

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

尝试删除保存在 known_hosts 文件中的指纹(对应于此特定连接的单行 - 而不是整个文件)。如果在 Windows 中,则放在 C:\Users\<your_user_name>\.ssh\known_host 中,而对于 Linux,则放在 /home/<your_user_name>/.ssh/known_hosts 目录中。

因为更详细,你可能也想检查这个