在 Windows 上使用 PyCharm 通過 SSH 連接到遠程 Ubuntu 機器的 Anaconda 環境
1. 確保遠程機器上的 SSH 服務已啟動
在遠程 Ubuntu 機器上,確保 SSH 服務已安裝并啟動:
sudo apt-get install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
2. 在 Windows 上安裝 OpenSSH 客戶端
確保 Windows 上已安裝 OpenSSH 客戶端。可以通過以下命令在 PowerShell 中檢查是否已安裝,以管理員身份運行 PowerShell(按下 Win + X 鍵,然后選擇 Windows Terminal (管理員)):
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
如果未安裝,可以使用以下命令安裝:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
3. 在 PyCharm 中配置 SSH 連接
-
打開 PyCharm:
- 打開 PyCharm 并創建一個新的項目或打開現有項目。
-
配置 SSH 連接:
- 在 PyCharm 的菜單欄中,選擇
File
>Settings
(或PyCharm
>Preferences
,取決于你的操作系統)。 - 在設置窗口中,選擇
Project: 項目名稱
>Project Interpreter
。 - 點擊右上角的齒輪圖標,選擇
Add...
。 - 在彈出的窗口中,選擇
Existing environment
。 - 點擊
SSH
選項卡。 - 填寫以下信息:
- Host:遠程機器的 IP 地址。
- Port:SSH 服務的端口號(默認為 22)。
- User:遠程機器上的用戶名。
- Password:遠程機器上的用戶密碼(如果使用密鑰認證,可以跳過此步驟)。
- Path to Python interpreter:遠程機器上 Python 解釋器的路徑,例如
/home/你的用戶名/anaconda3/envs/Py311/bin/python3.11
。
- 點擊
OK
完成配置。
- 在 PyCharm 的菜單欄中,選擇
創建時可能會彈框報錯:
bash Path to Python interpreter:遠程機器上 Python 解釋器的路徑,例如 /home/你的用戶名/anaconda3/envs/Py311/bin/python。 Python 解釋器進程以非零退出代碼 126 退出 env: "/home/你的用戶名/anaconda3/envs/Py311": 權限不夠
錯誤代碼 126 通常表示權限問題,具體來說是權限不足導致無法執行指定的文件。以下是解決這個問題的步驟:
檢查文件權限
在遠程機器上,檢查 Python 解釋器文件的權限:ls -l /home/你的用戶名/anaconda3/envs/Py311/bin/python3.11
這將顯示文件的權限信息。例如:
-rwxr-xr-x 1 你的用戶名 你的用戶名 日期 /home/你的用戶名/anaconda3/envs/Py311/bin/python3.11
如果權限不足,例如沒有執行權限(
x
),你需要修改文件權限。修改文件權限
如果權限不足,可以使用chmod
命令修改文件權限,確保當前用戶有執行權限:chmod +x /home/你的用戶名/anaconda3/envs/Py311/bin/python3.11
這將為當前用戶添加執行權限。
注意事項
- 防火墻設置:確保遠程機器的防火墻允許來自你的 IP 地址的 SSH 連接。
- SSH 配置文件:如果需要修改 SSH 配置文件(如
sshd_config
),可以在遠程機器上編輯/etc/ssh/sshd_config
文件,并重啟 SSH 服務:sudo systemctl restart ssh