VSCode: Failed to parse remote port from server output
狀況描述
原本在 Windows 都能正常用 VSCode Remote SSH 連線伺服器,但一早卻發現連線失敗。當時,VSCode 不斷要求輸入密碼卻無法登入,”OUTPUT” 頁面提示的訊息節錄如下:
Failed to parse remote port from server output
Acquiring lock on /home/username/.vscode-server/bin/some-hash-code-here/vscode-remote-lock.username.some-hash-code-here
版本資訊:windows 21H2, VSCode 1.74.2
原因與解決辦法
參考 VSCode remote ssh connection not working,簡言之,VSCode 遠端連線前,需要在伺服器端的 .vscode-server/bin
安裝連線相關的工具並進行一些連線設置。假設伺服器已有這些套件,”OUTPUT” 會提示 Found existing installation at (.vscode-server/bin 的路徑)
;若沒有這些套件,則會從官方網站下載與安裝。
若伺服器的套件和配置沒有隨本地 Vscode 更新,便可能因為連線兩端的資訊不相符而無法順利連線,此時可刪除並重新安裝這些工具與配置檔來解決問題。
Ctrl
+Shift
+P
,開啟指令視窗- 搜尋並執行 “Remote-SSH: Kill VS Code Server on Host”,刪除
vscode-server
檔案與目錄 - 選取欲清除既有工具的伺服器
- 重新連線,VSCode 便會重新安裝相關軟體了
檢查方式
- 開啟 command line 工具,以
ping
確認連線正常 - 使用 putty 或 mobaXtern 等工具連線伺服器,確認問題出在 VSCode
- 重新開機、重新安裝 Remote SSH、移除
C:/Users/username/.ssh/Known_host
的內容,確認問題不在本地端 - 按照前述步驟刪除伺服器內
vscode-server
的內容,重新連線
其他可能解法
若此處提及的方式無法解決問題,可參考以下連結試試看其他人的解法。
結語
IDE 及其擴充套件相當方面,可以免去不少開發環境設置的功夫。畢竟我們不會等到摸熟了 IDE 所有功能及其實踐方式才開始開發,所以功能故障算是讓了解 IDE 機制或潛在設定的好機會。在本文的案例哩,可以關閉自動更新來避免這種狀況發生。
Ctrl
+,
,開啟 Settings- 搜尋 “update: Mode”
- 設定為 “manual” 或 “none”
- 重新啟動 VScode