當您想要在本地或者其它裝置上,使用終端或VSCode遠端連線DSW執行個體時,可以採用SSH直連的方式,其串連穩定並且快速。
適用範圍
支援的執行個體類型:
使用公用資源群組建立的後付費DSW執行個體。資源規格不能以
ecs.ebm開頭。使用靈駿智算資源建立的DSW執行個體。
公網串連數量限制:
當您通過公網遠端連線DSW執行個體時,PAI會自動為每個公網NAT Gateway配置DNAT規則。您無需手動設定。
每個公網NAT Gateway最多可配置100條DNAT規則,因此最多支援100個DSW執行個體的同時串連。更多配額資訊,請參見配額。
計費說明
當需要從公網遠端連線DSW執行個體時,需配置NAT Gateway和Elastic IP Address (EIP)。NAT Gateway和EIP為獨立計費的雲產品,會持續計費,即使DSW已停止。因此,如果不再需要,請務必及時刪除。
實施步驟
步驟一:開通內網DNS解析
開通內網DNS解析。由於DSW執行個體通常部署在VPC環境中,而VPC內的服務間通訊依賴內網網域名稱來實現高效、安全的訪問。當通過SSH串連DSW執行個體時,內網DNS解析服務會根據網域名稱解析出執行個體的內網IP地址,從而確保串連能夠成功建立。
步驟二:產生SSH公開金鑰
在用戶端上執行如下命令產生公開金鑰。在產生過程中需要設定用於登入DSW執行個體的密碼,如果您想要使用remote_ikernel工具串連執行個體(見本文情境樣本),請不要設定密碼,直接按斷行符號鍵(Enter)。
(推薦)將公開金鑰產生到預設路徑下:
ssh-keygen執行該命令後,預設在以下目錄中產生公開金鑰(
id_rsa.pub)和私密金鑰(id_rsa)檔案。如果當前位置已存在SSH金鑰組,則這些檔案將被覆蓋。不同系統預設路徑如下:Windows作業系統:儲存在
C:\Users\<username>\.ssh目錄或C:\使用者\<username>\.ssh目錄。Linux作業系統:root使用者儲存在
/root/.ssh目錄;普通使用者儲存在/home/<username>/.ssh目錄。Mac作業系統:儲存在
/Users/<username>/.ssh目錄。
將公開金鑰產生到自訂目錄下:
ssh-keygen -f /your/path/example_rsa # 將在/your/path下產生example_rsa.pub和example_rsa
步驟三:配置DSW執行個體SSH參數
在建立DSW執行個體時,配置如下網路相關參數。
對於已建立的執行個體,單擊變更配置修改對應參數,然後單擊確定,更新配置。
配置專用網路、交換器和安全性群組
如果您使用公用資源建立DSW執行個體,需要配置專用網路、交換器和安全性群組。您可以參考如下操作步驟建立,更詳細的內容請參見建立專用網路與交換器,及管理安全性群組。
配置SSH相關參數
啟用SSH:單擊開啟。
SSH公開金鑰:將步驟二中產生的公開金鑰檔案
id_rsa.pub的內容複寫到該文字框中。如果您需要同時支援VPC內登入和公網登入方式,需同時添加多個用戶端的公開金鑰。請按照斷行符號換行的方式逐個添加,最多支援添加10個公開金鑰。
自訂服務:在啟用SSH開關開啟後,會出現名稱為SSH自訂服務。
監聽連接埠:DSW執行個體中啟動並執行服務監聽的連接埠。預設為22。
服務訪問方式:
VPC內訪問:預設支援該訪問方式。您可以從VPC內的其他終端(例如ECS),訪問DSW中的服務。
公網訪問:選中該項,可以增加公網訪問方式。同時必須配置NAT Gateway和Elastic IP Address。
公網訪問連接埠:允許從公網訪問的連接埠,即SSH公網訪問時的
-p參數。例如:1024。
NAT Gateway:若需要公網訪問則需要配置該參數。選擇為當前VPC建立的公網NAT Gateway;
Elastic IP Address:若需要公網訪問則需要配置該參數。選擇為當前NAT Gateway建立的Elastic IP Address(EIP);
您可參考如下內容建立NAT Gateway和Elastic IP Address:
步驟四:安裝SSH Server
如果您的DSW執行個體使用的是官方預置鏡像或基於官方預置鏡像產生的自訂鏡像,則已預設安裝了SSH Server,您可以跳過該步驟。否則需要按照以下步驟來手動安裝SSH Server。
開啟需要操作的DSW執行個體。
在DSW的Terminal中,執行如下命令。
sudo apt-get update sudo apt-get install openssh-server sudo service ssh start如果執行命令失敗,返回結果為sudo,表示未找到命令,您可以嘗試執行
apt-get install sudo命令後,再次執行上述命令即可。執行如下命令可以查看SSH Server狀態。
service ssh status
步驟五:遠端連線DSW執行個體
查看訪問方式。
在DSW頁面,單擊執行個體名稱進入執行個體詳情頁面。在執行個體配置頁簽的訪問配置地區中,查看公網訪問方式和VPC訪問方式。
說明如果SSH配置未選擇公網登入,則此處將只顯示VPC訪問方式,不顯示公網訪問方式。
串連DSW執行個體。
通過SSH串連
公網訪問
在本地命令列或其他終端中,使用步驟1查詢的公網訪問方式遠端連線到DSW執行個體。
ssh root@xx.xx.xx.xx -p 1024 # 如果私密金鑰不在預設路徑上,需要指定私密金鑰的位置 ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024重要-p參數的值1024為SSH配置的公網訪問連接埠。VPC訪問
在VPC內的其他終端(例如ECS執行個體),使用步驟1查詢的VPC訪問方式遠端連線到DSW執行個體。
ssh root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22 # 如果私密金鑰不在預設路徑上,需要指定私密金鑰的位置 ssh -i /your/path/example_rsa root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22
通過本地VSCode串連
開啟VSCode,在Extensions中安裝Remote - SSH外掛程式。

單擊左下角
,喚出Remote-SSH彈窗,選擇Connect to Host... > Add New SSH Host...。輸入SSH串連命令。
ssh root@xx.xx.xx.xx -p 1024 # 如果私密金鑰不在預設路徑上,需要指定私密金鑰的位置 ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024
單擊右下角Connect,左下角顯示串連成功。

開啟DSW執行個體中的目錄,開始遠程開發和調試。

運行時可串連DSW執行個體中的Kernel。

情境樣本:在DSW執行個體上運行本地Notebook代碼
前提條件
已按照本文步驟一到步驟四完成SSH直連配置,且產生SSH公開金鑰時沒有設定密碼。
操作步驟
在本地Terminal安裝remote_ikernel工具,做初始化配置,並添加一個remote kernel。
pip install remote_ikernelremote_ikernel manage --add \ --kernel_cmd="ipython kernel -f {connection_file}" \ # 無需修改 --name="Remote Python" \ --interface=ssh \ --host=root@*.*.*.*:1024 # 此處修改為您的host地址,如果私密金鑰不在預設路徑上,則需要設定為 --host="-i /your/path/example_rsa root@*.*.*.*:1024"如果回顯提示如下,表示remote kernel添加成功。
Added kernel ['rik_ssh_root_121_40_*_*_1024_remotepython']: SSH root@121.40.*.*:1024 Remote Python.查看remote kernel配置資訊可執行如下命令。
remote_ikernel manage --show在本地VSCode中,開啟一個Notebook檔案,右上方kernel切換,可在搜尋方塊中選到Remote Python。

常見問題
Q:遠端連線SSH直連和ProxyClient代理兩種方案區別?
方案A:SSH 直連(推薦) | 方案B:ProxyClient 代理 | |
特點 | 需要配置VPC、NAT Gateway等網路組件。串連更快、更穩定。 | 無需其他網路組件。但連線速度和穩定性可能較差。 |
支援執行個體 |
| 所有類型執行個體。 |
鑒權方式 | 使用SSH的公開金鑰或私密金鑰進行鑒權。 |
|
訪問途徑 |
| 通過公網進行訪問。 |
配置方法 | ||
工作原理 | PAI 會自動在NAT Gateway上建立 DNAT 規則,將公網的 SSH 請求轉寄到您的 DSW 執行個體。 | 所有流量通過 PAI 的Proxy 伺服器進行中轉。 |
計費提醒 | 需要公網訪問時,NAT Gateway和 EIP 會持續計費,即使DSW已停止。如果不再需要,請及時刪除。 | 此配置不產生額外費用。 |
Q:是否支援使用PyCharm等本地WebIDE來遠端連線到DSW執行個體?
原則上支援所有基於原生SSH協議實現的功能。但需要注意的是,如果您使用PyCharm作為用戶端,則會在DSW執行個體中自動觸發下載和安裝服務端。因此,您需要確保您指定的DSW執行個體具有公網訪問能力。
Q:使用SSH串連DSW時,遇到串連失敗、逾時或密鑰被拒等問題,該如何解決?
串連失敗通常由網路設定、認證或許可權問題導致,您可以按以下步驟排查:
公網地址訪問不通,如何解決?
請先在VPC環境內,確認您的VPC地址是否可以訪問DSW執行個體。
如果VPC地址可以訪問,但公網地址無法訪問。請確認在您選擇的VPC中是否建立了多個公網NAT Gateway:
如果建立了多個公網NAT Gateway,請參考同VPC內多公網NAT Gateway部署方案,檢查您的NAT Gateway、vSwitch和路由表之間的關係是否正確。您在DSW中選擇的vSwitch能夠在路由表中正確路由到您選擇的NAT Gateway,這樣才能使您的SSH請求的返回結果返回到您的用戶端。
如果您只有一個公網NAT Gateway,請使用自助問題排查中的網路連通性問題進行排查。輸入您原生公網IP、您的公網EIP以及DSW執行個體分配給您的連接埠(即在DSW執行個體詳情頁查詢的公網訪問方式中配置的連接埠),分析網路可達性。
VPC地址訪問不通,如何解決?
請確認您是否使用了自訂鏡像,您的自訂鏡像裡是否安裝並開啟了SSH服務。詳情請參見步驟四:安裝SSH Server。
請確認您建立執行個體的安全性群組規則內,入方向是否允許TCP 22連接埠的訪問。
如果上述方法無法解決您的問題,請聯絡您的商務經理進行進一步排查。
連線逾時或無法訪問:
SSH直連 (公網):請檢查為DSW執行個體配置的公網NAT Gateway和安全性群組規則,確保已對公網允許存取了正確的連接埠 。
SSH直連 (VPC內):如果您從VPC內的ECS串連DSW,請檢查兩者是否在同一VPC下,並嘗試為VPC開通私網DNS解析服務。
密鑰被拒絕 (Permission denied / Server refused our key):
請確保已在本地通過
ssh-keygen產生金鑰組,並將公開金鑰(id_rsa.pub檔案的內容)完整、正確地添加到了DSW執行個體的SSH配置中 。在執行SSH命令時,請確認您使用的私密金鑰與添加到DSW的公開金鑰匹配。若私密金鑰檔案不在預設路徑(
~/.ssh/id_rsa),需要使用-i參數顯式指定其路徑 。
VSCode串連失敗:
確保已安裝
Remote - SSH外掛程式 。添加新主機時,輸入的SSH命令要完整,例如
ssh root@xx.xx.xx.xx -p 1024。串連失敗後,可先嘗試在本地終端直接使用SSH命令串連,根據終端的報錯資訊進一步定位問題。
Q:如何查看執行個體公網IP?
如果您已配置好公網NAT Gateway,可以通過以下步驟查看公網ip。
Q:DSW執行個體是否支援建立多個使用者並分別通過SSH登入?
DSW執行個體預設僅提供root使用者用於SSH登入 。目前,DSW原生不支援建立多個獨立使用者並為他們分別配置SSH隔離登入的功能。您可以嘗試在執行個體內部手動建立新使用者,但這並非官方支援的標準用法。
Q:在本地IDE(如VSCode、PyCharm)中串連DSW時,看不到工作目錄檔案怎麼辦?
SSH登入後預設的目錄可能是root使用者的主目錄(/root)。您的工作檔案通常位於掛載的資料盤路徑下,例如 /mnt/workspace。在VSCode中,您可以通過側邊欄的“檔案” > “開啟檔案夾”功能,手動選擇並開啟伺服器上的正確工作目錄,即可在檔案瀏覽器中看到您的專案檔。
相關文檔
如果您的情境不適合或不想配置額外網路組件,可以嘗試使用ProxyClient方式進行遠端連線。
配置Virtual Private Cloud名稱、IPv4網段及交換器資訊。其他參數預設即可,然後單擊確定建立VPC和交換器。





