全部產品
Search
文件中心

Platform For AI:遠端連線:ProxyClient方式

更新時間:Jul 01, 2026

ProxyClient是DSW提供的用戶端代理工具,支援通過SSH遠端連線DSW執行個體,無需配置Virtual Private Cloud和NAT Gateway。適用於使用本地VSCode或Terminal進行機器學習開發的情境。

實施步驟

步驟一:下載和安裝DSW ProxyClient

  1. 下載DSW ProxyClient用戶端工具,並儲存到目前使用者主目錄下。

    不同的作業系統,需要儲存的目錄如下:

    • Windows作業系統:儲存在使用者個人資料夾目錄,例如C:\Users\<username>目錄或C:\使用者\<username>目錄。

    • Linux作業系統:root使用者儲存在/root目錄;普通使用者儲存在 /home/<username>目錄。

    • Mac作業系統:儲存在/Users/<username>目錄。

    其中,<username>需替換為實際的目錄。

    各版本的用戶端下載地址如下:

  2. 在命令列中,將下載的用戶端檔案修改為可執行檔。Windows X86 64版本可跳過此步驟。

    chmod 755 <proxyclient>

    其中<proxyclient>為下載的用戶端檔案名稱,需根據實際情況修改。

  3. 組建組態檔案。

    1. 輸入配置命令。

      # Mac,Linux。
      ./proxyclient config
      # Windows。
       proxyclient.exe config
      重要

      Mac首次運行./proxyclient命令時,可能會提示:無法開啟”proxyclient“,因為無法驗證開發人員。請開啟Mac OS的系統喜好設定 > 安全性與隱私,設定允許proxyclient運行。

    2. 根據提示設定設定檔路徑。

      請輸入設定檔名,檔案名稱可以帶路徑。

      說明
      • 建議直接按斷行符號鍵(Enter)使用預設路徑和設定檔名稱。預設為:~/.proxyclientconfig

      • 您也可以指定其他路徑和設定檔名稱。以Windows X86 64版本為例:C:/Users/<username>/xxx/.proxyclientconfig

      • 如果設定為其他路徑,請在後續步驟四中執行./proxyclient add命令時,指定-c--config-file為該路徑。

    3. 根據提示分別設定RegionId、AccessKey ID、AccessKey Secret和STSToken參數。

      參數說明如下。

      參數

      說明

      RegionId

      地區ID,例如:華東2(上海)為cn-shanghai。其他地區ID參見地區和可用性區域列表

      重要

      此處配置的地區ID,需要與DSW執行個體所在地區一致。

      AccessKey ID

      填寫帳號的AccessKey,擷取方式參見建立AccessKey

      AccessKey Secret

      STSToken

      • 當使用阿里雲帳號(主帳號)或RAM使用者(子帳號)登入時,無需配置該參數,置空即可。

      • 當使用RAM角色登入時,需使用臨時身份憑證,需配置該參數。STSToken的產生方式參見擷取STS臨時Token

      重要

      請確保STS Token在有效期間內。

步驟二:配置SSH認證方式

您可以選擇使用SSH金鑰組或帳號密碼的方式串連DSW執行個體。

重要

對於專有資源群組的DSW執行個體,認證方式配置完成後,單擊DSW執行個體操作列下的保存镜像,添加的公開金鑰或密碼會持久化到執行個體鏡像中,執行個體重新啟動後仍有效。

方式一:配置執行個體免密登入(推薦)

  1. 產生金鑰組。

    1. 在本地命令列中,運行以下命令,產生免密登入所需的公開金鑰和私密金鑰檔案,預設建立的密鑰類型為RSA。

      ssh-keygen
    2. 配置金鑰組儲存的檔案。

      • (推薦)不指定檔案名稱,直接按斷行符號鍵(Enter)。預設產生的金鑰組檔案為~/.ssh/id_rsa(私密金鑰)和~/.ssh/id_rsa.pub(公開金鑰)。

      • (可選)指定自訂金鑰組的檔案名稱,例如:example_id_rsa。

        說明

        如果指定了自訂金鑰組的檔案名稱,您需要在步驟三:添加DSW執行個體代理產生的~/.ssh/config中,通過指定IdentityFile的方式來聲明私密金鑰檔案路徑。

    3. 根據提示資訊設定passphrase,並將其儲存到本地。後續會使用該密碼來遠端連線DSW執行個體。

  2. 進入要串連的DSW執行個體,開啟Terminal,執行以下命令,setup_ssh.sh工具會自動下載安裝SSH Server。

    wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh
    bash setup_ssh.sh
  3. 根據提示配置SSH公開金鑰,啟動SSH Server。

方式二:配置帳號密碼登入

  1. 進入要串連的DSW執行個體,開啟Terminal。

  2. 執行以下命令設定root使用者密碼。

    passwd root
  3. 更改ssh設定檔,啟用root使用者以密鑰或公開金鑰認證方式登入。

    1. 開啟SSH設定檔。

      vi /etc/ssh/sshd_config
    2. 將配置#PermitRootLogin prohibit-password修改為PermitRootLogin yes,並儲存設定檔。

      修改後的設定檔內容如下。

      # Authentication:
      #LoginGraceTime 2m
      PermitRootLogin yes
      #StrictModes yes
      #MaxAuthTries 6
      #MaxSessions 10
  4. 重啟SSH Server服務,使設定生效。

    service ssh stop
    service ssh start

步驟三:添加DSW執行個體代理

  1. 在執行個體列表頁面,按照以下操作指引,查看並複製要串連的DSW執行個體ID。

    單擊目標執行個體展開詳情面板,在面板中找到執行個體ID欄位(格式如 dsw-xxxxxxd6),複製該執行個體 ID 用於後續代理配置。

  2. 在本地命令列中,運行以下命令,添加一個DSW執行個體作為SSH Target Host。

    其中<執行個體ID>需替換為步驟2中查詢的執行個體ID。

    # Mac,Linux:
    ./proxyclient add -i=<執行個體ID>
    # Windows:
    proxyclient.exe add -i=<執行個體ID>
  3. 查看.ssh/config檔案內容,確認代理設定已生效。

    # Mac、Linux。
    cat .ssh/config
    # Windows。在本地命令列中,進入使用者主目錄,使用以下命令查看config檔案內容。您也可以直接雙擊開啟config檔案。
    explorer .ssh\config
  4. 可選:如果您在產生密鑰時,使用自訂的密鑰檔案名稱,例如:example_id_rsa。請參考以下樣本修改~/.ssh/config檔案,使用IdentityFile指定串連Host時使用的密鑰檔案路徑。

    Host dsw-b7a2765b267e****
        HostName dsw-b7a2765b267e****
        User root
        ProxyCommand ~/proxyclient connect --region-id=cn-hangzhou --instance-id=dsw-b7a2765b267e**** --config-file=***
        ServerAliveInterval 30
        IdentityFile ~/.ssh/example_id_rsa

步驟四:遠端連線DSW執行個體

使用終端遠端連線執行個體

開啟終端工具(例如本地命令列),執行以下命令,即可登入遠程執行個體。

其中<執行個體ID>需替換為DSW執行個體的ID。

ssh <執行個體ID>

您也可以通過scp命令,在本地主機和遠程執行個體之間複製檔案或目錄。

# 本地檔案複製到遠程執行個體。
scp local_file_path root@<DSW執行個體ID>:<remote_file_path>
# 本地目錄複寫到遠程執行個體。
scp -r local_dir root@<DSW執行個體ID>:<remote_dir>
# 從遠程執行個體複製檔案到本地。
scp root@<DSW執行個體ID>:<remote_file_path> <local_file_path>
# 從遠程執行個體複製檔案目錄到本地。
scp -r root@<DSW執行個體ID>:<remote_dir> <local_dir>

使用VSCode遠端連線執行個體

不同的VSCode版本在操作步驟上可能有差異,請按實際情況操作,詳情參見Visual Studio Code

  1. 在本地開啟VSCode,並安裝远程连接外掛程式。

    單擊左側活動欄的 Extensions 表徵圖開啟擴充市場,在搜尋方塊中輸入 Remote-SSH,找到 Remote-SSH 擴充後單擊 Install 完成安裝。

  2. 在VSCode左側導覽列中,單擊Remote explorer

    開啟 Remote Explorer 面板,在 SSH 節點下可查看已配置的遠程主機串連(如 dsw-*)。

  3. 新增遠端連線執行個體。

    1. 單擊远程连接後的新增新增遠端連線執行個體。在彈出的文字框中輸入DSW執行個體ID,並按斷行符號鍵(Enter)。

    2. 單擊並選擇需要更新的config檔案。

      推薦選擇 C:\Users\<使用者名稱>\.ssh\config 路徑對應的設定檔。

    3. 在VSCode右下角彈出的Host added對話方塊中,單擊Connect

    4. 單擊Linux,選擇DSW執行個體的操作平台。

    5. 在文字框中輸入上述步驟三中儲存到本地的passphrase,並按斷行符號鍵(Enter)。

      串連成功後,VS Code 將顯示 Welcome 歡迎頁面,主內容地區包含 StartNew File...Open File...Open Folder...Clone Git Repository...)快捷操作入口以及 Walkthroughs 引導列表(如 Get Started with VS CodeGet Started with WSL 等),表明已成功通過 VSCode 遠端連線到執行個體。後續您可以在VSCode頁面開啟遠程檔案夾進行本地開發。

  4. 後續遠端連線該DSW執行個體時,可按右鍵目標執行個體,選擇串連方式,根據提示資訊配置。

    串連方式包括 Connect to Host in Current Window(在當前視窗串連)和 Connect to Host in New Window(在新視窗串連)。

常見問題

Q:遠端連線SSH直連和ProxyClient代理兩種方案區別?

方案A:SSH 直連(推薦)

方案B:ProxyClient 代理

特點

需要配置VPC、NAT Gateway等網路組件。串連更快、更穩定。

無需其他網路組件。但連線速度和穩定性可能較差。

支援執行個體

除公用資源群組中以 ecs.ebm 開頭的規格外,其餘所有執行個體類型均適用。

所有類型執行個體。

鑒權方式

使用SSH的公開金鑰或私密金鑰鑒權。

  1. 先通過ProxyClient填寫阿里雲AccessKey等資訊鑒權。

  2. 再通過SSH的公開金鑰或私密金鑰鑒權。

訪問途徑

  • 通過公網訪問(需配置NAT Gateway和EIP)。

  • 在使用者VPC內通過內網訪問。

通過公網訪問。

配置方法

遠端連線:SSH直連方式

遠端連線:ProxyClient方式

工作原理

PAI會自動在NAT Gateway上建立DNAT規則,將公網的SSH請求轉寄到DSW執行個體。

所有流量通過PAI的Proxy 伺服器中轉。

計費提醒

需要公網訪問時,NAT Gateway和 EIP 會持續計費,即使DSW已停止。如果不再需要,請及時刪除。

此配置不產生額外費用。

Q:RAM使用者(子帳號)為什麼串連失敗?

如果您使用RAM使用者的AccessKey通過ProxyClient串連,必須確保主帳號已為該RAM使用者授予paidsw:GetToken的操作許可權,否則會導致認證失敗。添加該許可權步驟:

授權操作步驟

  1. 使用主帳號進入RAM控制台

  2. 建立如下權限原則:

    {
       "Version": "1",
       "Statement": [
         {
           "Effect": "Allow",
           "Action": "paidsw:GetToken",
           "Resource": "*"
         }
       ]
    }
  3. 進入RAM授權頁將步驟2中的策略授權給對應的RAM帳號。

Q:為什麼連線逾時或無法訪問?

檢查proxyclient.exe產生的設定檔中,RegionId是否與您的DSW執行個體所在地區完全一致。

Q:DSW執行個體是否支援建立多個使用者並分別通過SSH登入?

DSW執行個體預設僅提供root使用者用於SSH登入 。目前,DSW原生不支援建立多個獨立使用者並為他們分別配置SSH隔離登入的功能。您可以嘗試在執行個體內部手動建立新使用者,但這並非官方支援的標準用法。

Q:在本地IDE(如VSCode、PyCharm)中串連DSW時,看不到工作目錄檔案怎麼辦?

SSH登入後預設的目錄可能是root使用者的主目錄(/root)。您的工作檔案通常位於掛載的資料盤路徑下,例如 /mnt/workspace。在VSCode中,您可以通過側邊欄的“檔案” > “開啟檔案夾”功能,手動選擇並開啟伺服器上的正確工作目錄,即可在檔案瀏覽器中看到您的專案檔。

相關文檔

  • 使用ProxyClient用戶端代理工具可能會影響使用體驗,例如頻繁需要重連、速度低等。因此,建議您使用遠端連線:SSH直連方式