如果您希望通過本地工具(例如VSCode或Terminal)遠程連接DSW實例進行機器學習開發,可以使用DSW提供的ProxyClient客戶端代理工具。該工具允許您通過SSH遠程連接DSW實例,實現本地與DSW實例的連接。
前提條件
在開始操作前,請確認您已完成以下準備工作。
已創建DSW實例,具體操作,請參見創建DSW實例。
云賬號已有DSW操作權限。如果您使用的是主賬號則無需授權,如果使用的是RAM賬號,需要進行操作賬號授權。
已獲取云賬號的AccessKey信息,具體操作,請參見創建AccessKey。
注意事項
如果您的DSW實例啟動時間在2022年8月10日12:00(UTC + 8)之前,請停止實例后重新啟動實例,來激活RemoteSSH連接功能。
說明您可以前往控制臺的交互式建模(DSW)頁面,查看目標實例服務時長列下的服務時間,來判斷是否需要重啟實例。具體操作,請參見創建DSW實例。
按照文檔中的操作步驟完成配置后,如果您重啟了DSW實例,在重新遠程連接DSW實例之前,需要完成以下操作。
對于使用公共資源組創建的DSW實例,您需要在DSW的Terminal中執行
sudo service ssh start
命令,以啟動SSH服務。對于使用專有資源組創建的DSW實例,如果未掛載數據集,您需要按照文檔中的操作步驟重新配置服務端公鑰并啟用免密登錄,或者配置賬號密碼登錄。如果已經掛載了數據集,則需要在DSW的Terminal中執行
sudo service ssh start
命令,以啟動SSH服務。
步驟一:下載和安裝DSW ProxyClient
下載DSW ProxyClient客戶端工具,并保存到當前用戶主目錄下。
不同的操作系統,需要保存的目錄如下:
Windows操作系統:保存在用戶個人文件夾目錄,例如C:\Users\<username>目錄或C:\用戶\<username>目錄。
Linux操作系統:root用戶保存在/root目錄;普通用戶保存在 /home/<username>目錄。
Mac操作系統:保存在/Users/<username>目錄。
其中,<username>需要替換為實際的目錄。
各版本的客戶端下載地址如下:
在命令行中,將下載的客戶端文件修改為可執行文件。如果您下載的是Windows X86 64版本,則可以跳過該步驟。
chmod 755 <proxyclient>
其中<proxyclient>表示下載的客戶端文件名,需要根據實際情況修改。
生成配置文件。
輸入配置命令。
# Mac,Linux。 ./proxyclient config # Windows。 proxyclient.exe config
重要Mac首次運行
./proxyclient
命令時,可能會提示:無法打開”proxyclient“,因為無法驗證開發者
。請打開Mac OS的 ,設置允許proxyclient運行。根據提示設置配置文件路徑。
請輸入配置文件名,文件名可以帶路徑。
說明建議直接按回車鍵(Enter)使用默認路徑和配置文件名稱。默認為:
~/.proxyclientconfig
。您也可以指定其他路徑和配置文件名稱。以Windows X86 64版本為例:
C:/Users/<username>/xxx/.proxyclientconfig
。如果設置為其他路徑,請在后續步驟四中執行
./proxyclient add
命令時,指定-c
或--config-file
為該路徑。
根據提示分別設置RegionId、AccessKey ID、AccessKey Secret和STSToken參數。
參數說明如下。
參數
說明
RegionId
地域ID,例如:華東2(上海)為cn-shanghai。更多其他地域ID,詳情請參見地域和可用區列表。
重要此處配置的地域ID,需要與DSW實例所在地域一致。
AccessKey ID
填寫賬號的AccessKey,關于如何獲取阿里云賬戶的AccessKey ID和AccessKey Secret,詳情請參見創建AccessKey。
AccessKey Secret
STSToken
當您使用阿里云賬號(主賬號)或RAM用戶(子賬號)登錄時,不需要配置該參數,置空即可。
當您使用RAM角色登錄時,需要使用臨時身份憑證,需要配置該參數。關于STSToken的生成方式,請參見獲取STS臨時Token。
重要請確保STS Token在有效期內。
步驟二:配置SSH認證方式
您可以選擇使用SSH密鑰對或賬號密碼的認證方式連接DSW實例。認證方式配置完成后,您可以單擊DSW實例操作列下的保存鏡像,將實例保存為鏡像,添加的公鑰或密碼會持久化到實例鏡像中,實例重新啟動后仍有效。
方式一:配置實例免密登錄(推薦)
生成密鑰對。
在本地命令行中,運行以下命令,生成免密登錄所需的公鑰和私鑰文件,默認創建的密鑰類型為RSA。
ssh-keygen
配置密鑰對保存的文件。
(推薦)不指定文件名,直接按回車鍵(Enter)。默認生成的密鑰對文件為
~/.ssh/id_rsa
(私鑰)和~/.ssh/id_rsa.pub
(公鑰)。(可選)指定自定義密鑰對的文件名,例如:example_id_rsa。
說明如果指定了自定義密鑰對的文件名,您需要在步驟三:添加DSW實例代理生成的
~/.ssh/config
中,通過指定IdentityFile的方式來聲明私鑰文件路徑。
根據提示信息設置passphrase,并將其保存到本地。后續會使用該密碼來遠程連接DSW實例。
進入要連接的DSW實例,打開Terminal,執行如下命令,setup_ssh.sh工具會自動幫您下載安裝SSH Server。
wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh bash setup_ssh.sh
根據提示配置SSH公鑰,啟動SSH Server。
方式二:配置賬號密碼登錄
進入要連接的DSW實例,打開Terminal。
執行如下命令設置root用戶密碼。
passwd root
更改ssh配置文件,啟用root用戶以密鑰或公鑰認證方式登錄。
打開SSH配置文件。
vi /etc/ssh/sshd_config
將配置
#PermitRootLogin prohibit-password
修改為PermitRootLogin yes
,并保存配置文件。
重啟SSH Server服務,使設置生效。
service ssh stop service ssh start
步驟三:添加DSW實例代理
在實例列表頁面,按照下圖操作指引,查看并復制要連接的DSW實例ID。
在本地命令行中,運行以下命令,添加一個DSW實例作為SSH Target Host。
其中<實例ID>需要替換為步驟2中查詢的實例ID。
# Mac,Linux: ./proxyclient add -i=<實例ID> # Windows: proxyclient.exe add -i=<實例ID>
查看.ssh/config文件內容,確認代理設置已生效。
# Mac、Linux。 cat .ssh/config # Windows。在本地命令行中,進入用戶主目錄,使用以下命令查看config文件內容。您也可以直接雙擊打開config文件。 explorer .ssh\config
可選:如果您在生成密鑰時,使用自定義的密鑰文件名,例如: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。
在本地打開VSCode,并參照下圖來安裝Remote-SSH插件。
在VSCode左側導航欄中,單擊。
新增遠程連接實例。
單擊SSH后的新增遠程連接實例。在彈出的文本框中輸入DSW實例ID,并按回車鍵(Enter)。
單擊并選擇需要更新的config文件。
在VSCode右下角彈出的Host added對話框中,單擊Connect。
單擊Linux,選擇DSW實例的操作平臺。
在文本框中輸入上述步驟三中保存到本地的passphrase,并按回車鍵(Enter)。
當VSCode打開歡迎頁面時,表示連接成功。后續您可以在VSCode頁面打開遠程文件夾進行本地開發。
后續遠程連接該DSW實例時,您可以右鍵單擊目標實例,并選擇連接方式,根據提示信息進行配置。
相關文檔
使用ProxyClient客戶端代理工具可能會影響使用體驗,例如頻繁需要重連、速度低等。因此,建議您使用SSH直連方式遠程連接DSW實例,或控制臺方式直接訪問DSW實例,以提高連接質量。