vscode怎么連接遠程服務器_遠程開發配置指南

vs code連接遠程服務器的核心在于配置ssh并使用remote development插件。1. 安裝remote development插件以支持ssh、containers和wsl三種遠程開發方式;2. 生成ssh密鑰對并通過ssh-copy-id或手動方式將公鑰復制到遠程服務器;3. 確保.ssh目錄及authorized_keys文件權限正確,測試ssh連接是否無需密碼登錄;4. 在vs code中通過remote-ssh擴展添加并連接遠程主機,選擇工作目錄后即可進行遠程開發;5. 遇到問題時檢查ssh配置、防火墻設置、ssh服務狀態、網絡連通性及vs code插件沖突;6. 進階用法包括配置ssh config文件簡化連接、安裝必要插件、使用git同步代碼以及利用port forwarding訪問遠程服務;替代方案有jetbrains ides、tmux/screen+vim/emacs及cloud ides,可根據需求選擇適合的工具

vscode怎么連接遠程服務器_遠程開發配置指南

總的來說,VS Code 連接遠程服務器,就是為了能在本地用強大的編輯器,干遠程服務器上的活兒。核心在于配置好 SSH 連接,然后用 VS Code 的 Remote Development 插件來實現無縫開發體驗。

vscode怎么連接遠程服務器_遠程開發配置指南

配置步驟,遇到的坑,還有一些進階用法,下面細說。

vscode怎么連接遠程服務器_遠程開發配置指南

解決方案

vscode怎么連接遠程服務器_遠程開發配置指南

  1. 安裝 Remote Development 插件: 打開 VS Code,搜索 “Remote Development” 插件并安裝。這個插件包包含了 SSH、Containers 和 WSL 三種遠程開發方式的支持。

  2. 配置 SSH 連接: 這是關鍵一步。你需要確保本地電腦可以通過 SSH 連接到遠程服務器。

    • 生成 SSH 密鑰對 (如果還沒有): 在本地終端執行 ssh-keygen -t rsa -b 4096,一路回車即可。會在 ~/.ssh 目錄下生成 id_rsa (私鑰) 和 id_rsa.pub (公鑰)。

    • 將公鑰復制到遠程服務器: 使用 ssh-copy-id user@remote_server_ip 命令,將本地公鑰復制到遠程服務器的 ~/.ssh/authorized_keys 文件中。 或者,手動將 id_rsa.pub 的內容追加到遠程服務器的 ~/.ssh/authorized_keys 文件中。 如果遠程服務器上沒有 .ssh 目錄或 authorized_keys 文件,需要手動創建。

    • 測試 SSH 連接: 在本地終端執行 ssh user@remote_server_ip,如果不需要輸入密碼就能登錄,說明 SSH 連接配置成功。

  3. VS Code 連接遠程服務器:

    • 打開 VS Code,按下 F1 或 Ctrl+Shift+P (Cmd+Shift+P on Mac),輸入 “Remote-SSH: Connect to Host…” 并選擇。

    • 選擇 “Add New SSH Host…”,輸入 SSH 連接字符串 user@remote_server_ip。

    • VS Code 會提示選擇一個配置文件來保存 SSH 連接信息,一般選擇默認的 ~/.ssh/config 即可。

    • 連接成功后,VS Code 會打開一個新的窗口,標題欄會顯示 “SSH: remote_server_ip”。

    • 點擊 “Open Folder” 或者 “File -> Open Folder…”,選擇遠程服務器上的工作目錄。

  4. 開始遠程開發: 現在你就可以像在本地一樣,在 VS Code 中編輯、運行、調試遠程服務器上的代碼了。VS Code 會自動將本地的插件、設置同步到遠程服務器上。

解決 VS Code 遠程連接失敗的常見問題

  • SSH 配置錯誤: 仔細檢查 SSH 密鑰對是否正確生成,公鑰是否正確復制到遠程服務器的 authorized_keys 文件中。 權限問題也需要注意,.ssh 目錄和 authorized_keys 文件的權限必須正確 (一般是 700 和 600)。

  • 防火墻阻止連接: 確保本地電腦和遠程服務器的防火墻允許 SSH 連接 (默認端口 22)。

  • 遠程服務器 SSH 服務未啟動: 檢查遠程服務器上的 SSH 服務是否正在運行。可以使用 sudo systemctl status sshd (linux) 或 sudo service ssh status 命令來查看 SSH 服務的狀態。

  • VS Code 插件沖突: 有時候某些 VS Code 插件可能會導致遠程連接失敗。嘗試禁用一些插件,看看是否能解決問題。

  • 網絡問題: 檢查本地電腦和遠程服務器之間的網絡連接是否正常。可以使用 ping remote_server_ip 命令來測試網絡連通性。

如何優化 VS Code 遠程開發體驗?

  • 使用 SSH config 文件: ~/.ssh/config 文件可以簡化 SSH 連接配置。 例如,可以添加如下配置:

    Host my_remote_server     HostName remote_server_ip     User user     IdentityFile ~/.ssh/id_rsa

    這樣,以后就可以直接使用 ssh my_remote_server 命令連接到遠程服務器,VS Code 中也可以使用 my_remote_server 作為 Hostname。

  • 安裝必要的插件: 根據你的開發需求,在遠程服務器上安裝必要的 VS Code 插件。 例如,python 開發需要安裝 Python 插件,JavaScript 開發需要安裝 ESLint、Prettier 等插件。

  • 配置代碼同步: 可以使用 git 來管理遠程服務器上的代碼,并實現代碼同步。

  • 使用 VS Code 的 Port Forwarding 功能: 如果需要在本地訪問遠程服務器上運行的服務 (例如,Web 應用、數據庫),可以使用 VS Code 的 Port Forwarding 功能。 在 VS Code 的 “Ports” 視圖中,點擊 “Forward a Port” 按鈕,輸入遠程服務器上的端口號和本地端口號即可。

VS Code 遠程開發有哪些替代方案?

  • JetBrains IDEs (IntelliJ idea, pycharm 等): JetBrains IDEs 也提供了強大的遠程開發功能。 它們的 “Projector” 和 “gateway” 功能可以讓你在本地運行 IDE 的客戶端,并在遠程服務器上運行 IDE 的后端。

  • Tmux/Screen + Vim/Emacs: 這是傳統的命令行遠程開發方式。 Tmux 或 Screen 可以讓你在遠程服務器上創建多個會話,Vim 或 Emacs 則是強大的文本編輯器。

  • Cloud IDEs (github Codespaces, Gitpod 等): Cloud IDEs 提供了基于瀏覽器的集成開發環境。 它們可以讓你在云端編寫、運行、調試代碼,無需配置本地開發環境。

選擇哪種遠程開發方式,取決于你的個人喜好、項目需求和網絡環境。 VS Code 的 Remote Development 插件是一個不錯的選擇,因為它免費、易用、功能強大。 但是,如果你的項目對性能要求很高,或者你需要使用一些特定的 IDE 功能,那么 JetBrains IDEs 或 Cloud IDEs 可能會更適合你。 傳統的命令行方式則更適合那些喜歡在終端中工作,并且對 Vim/Emacs 非常熟悉的開發者。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享