SSH直連是從本地終端或VSCode遠端連線DSW執行個體的推薦方式,串連穩定且快速。
使用限制
不支援的執行個體類型:
公用資源群組以
ecs.ebm開頭的資源規格,暫不支援 SSH 遠端連線。公網串連數量限制:
通過公網遠端連線DSW執行個體時,PAI會自動為每個公網NAT Gateway配置DNAT規則,無需手動設定。
每個公網NAT Gateway最多可配置100條DNAT規則,因此最多支援100個DSW執行個體的同時串連。更多配額資訊參見配額。
計費說明
當需要從公網遠端連線DSW執行個體時,需配置NAT Gateway、Elastic IP Address(EIP)或負載平衡NLB。NAT Gateway、EIP、NLB均獨立計費,即使DSW已停止也會持續產生費用。不再需要時請及時刪除。
實施步驟
步驟一:開通內網DNS解析
開通內網DNS解析。DSW執行個體部署在VPC中,SSH串連依賴內網網域名稱解析執行個體IP地址。開通內網DNS解析後,串連才能成功建立。
步驟二:產生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執行個體時,配置以下網路參數。
對於已建立的執行個體,單擊变更配置修改對應參數,然後單擊确定,更新配置。
參數名稱 | 描述 |
专有网络、交换机 ID、安全组 | 如果您使用公用資源建立DSW執行個體,需配置专有网络、交换机 ID和安全组。您可以參考以下步驟建立,詳細內容參見建立專用網路與交換器,及管理安全性群組。注意專用網路和安全性群組必須與DSW執行個體在相同地區。 重要 請確認安全性群組規則中,入方向已放通 TCP 22 連接埠,並允許用戶端IP地址訪問。 |
启用SSH | 單擊開啟,並將步驟二中產生的公開金鑰檔案 |
服务访问与端口配置 | 在启用SSH開關開啟後,會出現名稱為SSH的服務。
|
从公网访问实例 | 當需要公網訪問時需配置,選擇DNAT + EIP。
您可參考以下內容建立NAT Gateway和Elastic IP Address: 此外,也可選擇NLB方式,建立NLB時執行個體網路類型選擇公網類型,VPC選擇與當前DSW執行個體相同的VPC,詳細操作參見NLB快速實現IPv4服務的負載平衡。 說明 如果多台DSW執行個體共用相同的DNAT和EIP(或NLB),請使用不同的公網訪問連接埠。 |
步驟四:安裝SSH Server
在DSW執行個體的Terminal中執行以下命令,查看SSH服務是否已運行。
官方預置鏡像及基於其產生的自訂鏡像,預設已安裝並啟動SSH Server。
service ssh status如果SSH服務未運行,在DSW的Terminal中執行以下命令安裝SSH Server。
sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start如果提示sudo未找到,先執行apt-get install sudo,再重試上述命令。
步驟五:遠端連線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
單擊右下角打开,左下角顯示串連成功。

開啟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代理兩種方案區別?
Q:使用SSH串連DSW時,遇到串連失敗、逾時或密鑰被拒等問題,該如何解決?
按以下分類排查:
公網串連不通
確認安全性群組入方向已放通 TCP 22 連接埠,並允許您用戶端IP地址訪問。
若VPC中有多個公網NAT Gateway,參考單可用性區域公網 NAT Gateway高可用部署檢查NAT Gateway、vSwitch和路由表的路由關係。
若只有一個NAT Gateway,使用自助問題排查分析網路可達性。
VPC內串連不通
確認用戶端與DSW執行個體在同一VPC下,並已開通內網DNS解析服務。
若使用自訂鏡像,確認已安裝並啟動SSH服務,詳見步驟四:安裝SSH Server。
確認安全性群組入方向已放通 TCP 22 連接埠。
密鑰被拒絕(Permission denied)
確認已將公開金鑰(
id_rsa.pub的內容)完整添加到DSW執行個體的SSH配置中。確認SSH命令使用的私密金鑰與公開金鑰匹配,若私密金鑰不在預設路徑(
~/.ssh/id_rsa),需用-i參數指定。
VSCode串連失敗
確認已安裝
Remote - SSH外掛程式,且SSH命令輸入完整(如ssh root@xx.xx.xx.xx -p 1024)。先在本地終端用SSH命令測試連接,確認基礎串連正常後再排查VSCode配置。
若報"試圖寫入的管道不存在"錯誤,嘗試重啟VSCode或重新安裝Remote - SSH外掛程式。
Q:是否支援使用PyCharm等本地WebIDE來遠端連線到DSW執行個體?
支援所有基於原生SSH協議的功能。使用PyCharm時,PyCharm會在DSW執行個體中自動下載安裝服務端,因此DSW執行個體需具備公網訪問能力。
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方式遠端連線。
配置VPC名稱、IPv4網段和交換器資訊,其他參數保持預設,然後單擊确定建立VPC和交換器。





