會話管理(Session Manager)是雲助手提供的功能,用於便捷安全地遠端連線ECS執行個體。本文介紹如何通過會話管理進行SSH(Secure Shell)串連。
前提條件
需要串連的目標執行個體中已安裝雲助手Agent,並且Windows用戶端版本大於等於2.1.3.256、Linux用戶端版本大於等於2.2.3.256。具體操作,請參見安裝雲助手Agent。
已開啟會話管理功能,具體操作,請參見通過會話管理串連執行個體。
背景資訊
使用會話管理CLI轉寄SSH方式遠端連線目標ECS執行個體時,無需暴露執行個體公網IP與連接埠,只需擷取阿里雲ECS執行個體ID與密碼,即可通過會話管理用戶端串連目標執行個體。相比SSH、VNC等方式,可以更便捷地遠端連線ECS執行個體,且兼具安全性。關於會話管理的更多資訊,請參見會話管理概述。
Linux、macOS作業系統
本文操作以test使用者為例,具體操作以您實際操作的使用者和使用者目錄為準。
登入工作階段管理用戶端。
在會話管理用戶端安裝ali-instance-cli。
不同作業系統的用戶端安裝方式不同,具體說明如下:
Linux
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli chmod a+x ali-instance-cli
macOS:
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli chmod a+x ali-instance-cli
建立
config
檔案並添加相關配置。在目前使用者目錄下建立
.ssh
目錄,本文以/home/test為例。mkdir .ssh
切換到
.ssh
目錄下。cd .ssh
建立並開啟
config
檔案。vim config
按
i
進入編輯模式。在
config
檔案中添加如下內容。說明ali-instance-cli需要替換成檔案的絕對路徑,例如
/home/test/ali-instance-cli
。host i-* ProxyCommand sh -c "ali-instance-cli ssh -i '%h' --port '%p'"
按
Esc
鍵,退出編輯模式。輸入
:wq
,並按Enter
鍵,儲存並退出。為
config
檔案添加執行許可權。chmod 755 config
配置AccessKey、STS Token或CredentialsURI。
關於如何擷取AccessKey或STS Token,請參見建立AccessKey和什麼是STS。
切換到test目錄。
cd /home/test
配置鑒權認證方式。
支援以下三種配置方式:
AccessKey配置方式
執行如下命令,根據介面提示,輸入AccessKey ID、AccessKey Secret、RegionID。
./ali-instance-cli configure --mode AK
STS Token配置方式
說明region、ak、sk、token要修改為實際的Region ID、AccessKey ID、AccessKey Secret和STS Token。
./ali-instance-cli configure set --mode StsToken --region "region" --access-key-id "ak" --access-key-secret "sk" --sts-token "token"
CredentialsURI配置方式
執行如下命令,根據介面提示,輸入CredentialsURI和RegionID。
說明CredentialsURI為您配置的證明伺服器的地址。
./ali-instance-cli configure --mode=CredentialsURI
當回顯出現如圖所示內容時,說明鑒權方式已配置完成。
運行SSH命令串連目標執行個體。
支援以下兩種方式串連目標執行個體:
說明user和aliyun instance id要修改為實際的使用者名稱和執行個體ID。
密碼方式
ssh user@aliyun instance id
密鑰方式
ssh -i key.pem user@aliyun instance id
當回顯如下圖所示時,說明已經通過Session Manager轉寄SSH方式串連到目標執行個體。
Windows作業系統
使用會話管理用戶端的Windows作業系統已安裝OpenSSH。具體操作,請參見使用雲助手在Windows執行個體中安裝OpenSSH程式。
本文操作以test使用者為例,具體操作以您實際操作的使用者和使用者目錄為準。
登入工作階段管理用戶端。
具體操作,請參見串連方式概述。
在會話管理用戶端下載ali-instance-cli。
下載Windows版ali-instance-cli並儲存到本地檔案夾中,如
C:\Users\test
。建立
config
檔案並添加相關配置。在C:\Users\username下建立
.ssh
檔案夾。說明C:\Users\username需替換成實際的檔案夾,如
C:\Users\test
。在案頭左下角單擊表徵圖,然後在搜尋方塊輸入
Windows PowerShell
。單擊Windows PowerShell。
在C:\Users\username下,執行
mkdir .ssh
命令,建立.ssh
檔案夾。
在
.ssh
檔案夾下建立config
檔案。重要config
檔案名稱中不能含有副檔名。在
config
檔案中添加如下內容。ali-instance-cli.exe需要替換成檔案的絕對路徑,例如
C:\Users\test\ali-instance-cli.exe
。host i-* ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "ali-instance-cli.exe ssh -i '%h' --port '%p'"
配置AccessKey或STS Token。
關於如何擷取AccessKey或STS Token,請參見建立AccessKey和什麼是STS。
選擇
,輸入cmd,按Enter
鍵,開啟命令提示字元視窗。切換到test目錄。
cd C:\Users\test
配置鑒權認證方式。
支援以下三種配置方式:
AccessKey配置方式
執行如下命令,根據介面提示,輸入AccessKey ID、AccessKey Secret、RegionID。
ali-instance-cli.exe configure --mode AK
STS Token配置方式
說明region、ak、sk、token要修改為實際的Region ID、AccessKey ID、AccessKey Secret和STS Token。
ali-instance-cli.exe configure set --mode StsToken --region "region" --access-key-id "ak" --access-key-secret "sk" --sts-token "token"
CredentialsURI配置方式
執行如下命令,根據介面提示,輸入CredentialsURI和RegionID。
ali-instance-cli.exe configure --mode=CredentialsURI
當回顯出現如圖所示內容時,說明鑒權方式已配置完成。
運行SSH命令串連目標執行個體。
支援以下兩種方式串連目標執行個體:
說明user和aliyun instance id要修改為實際的使用者名稱和執行個體ID。
密碼方式
ssh user@aliyun instance id
密鑰方式
ssh -i key.pem user@aliyun instance id
當回顯如下圖所示時,說明已經通過Session Manager轉寄SSH方式串連到目標執行個體。
常見問題
當使用會話管理用戶端出現問題時,您可以通過查看log分析具體問題。
查看會話管理用戶端的日誌:當前log目錄,如
/home/test/log/aliyun_ecs_session_log.2022XXXX
。查看雲助手Agent日誌:
Linux
/usr/local/share/aliyun-assist/雲助手版本號碼/log/
Windows
C:\ProgramData\aliyun\assist\雲助手版本號碼\log
若會話管理功能未開啟,使用會話管理用戶端串連遠程執行個體,會出現ssh_exchange_identification: Connection closed by remote host
的錯誤提示。並且,會話管理用戶端的日誌裡面會出現session manager is disabled, please enable first
。請通過控制台開啟會話管理功能,具體操作,請參見通過會話管理串連執行個體。