本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 8:(可選)允許和控制 SSH 連接的權限 Session Manager
您可以允許您中的使 AWS 帳戶 用者使用 AWS Command Line Interface (AWS CLI) 建立與受管理節點的安全殼層 (SSH) 連線 AWS Systems Manager Session Manager。使用 SSH 連線的使用者也可以在其本機電腦和受管節點,使用 Secure Copy Protocol (SCP) 來複製檔案。您可以使用此功能,不需開啟傳入連接埠或維持堡壘主機,即可連接至受管節點。
允許 SSH 連線之後,您可以使用 AWS Identity and Access Management (IAM) 政策明確允許或拒絕使用者、群組或角色使用Session Manager.
注意
透過連接埠轉送或 SSH 連線的 Session Manager 工作階段無法使用日誌記錄功能。這是因為 SSH 會加密所有工作階段資料,Session Manager 僅用作 SSH 連線的通道。
允許 Session Manager 的 SSH 連線
使用下列步驟透過 Session Manager 在受管節點上允許 SSH 連線。
允許 Session Manager 的 SSH 連線
-
在您要啟用 SSH 連線的受管節點,執行下列作業:
-
請確定 SSH 是在受管節點上執行。(您可以關閉節點上的傳入連接埠。)
-
確保受管節點上已安裝 SSM Agent 2.3.672.0 版或更新版本。
如需在受管節點安裝或更新 SSM Agent 的詳細資訊,請參閱下列主題:
注意
若要將 Session Manager 與內部部署伺服器、邊緣裝置和您啟用作為受管節點的虛擬機器 (VM) 搭配使用,您必須使用進階執行個體層。如需進階執行個體的詳細資訊,請參閱 設定執行個體方案。
-
-
在您要使用 SSH 連接到受管節點的本機機器上,執行下列動作:
-
確保已安裝 Session Manager 外掛程式的 1.1.23.0 版或更新版本。
如需安裝 Session Manager 外掛程式的詳細資訊,請參閱 安裝Session Manager外掛程式 AWS CLI。
-
更新 SSH 設定檔可讓開始 Session Manager 工作階段的代理命令得以執行,並透過該連接傳輸所有資料。
Linux 和 macOS
提示
SSH 組態檔案通常位於
~/.ssh/config
。將以下內容新增至本機機器上的組態檔。
# SSH over Session Manager host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
Windows
提示
SSH 組態檔案通常位於
C:\Users\
。<username>
\.ssh\config將以下內容新增至本機機器上的組態檔。
# SSH over Session Manager host i-* mi-* ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
-
建立或驗證您擁有隱私增強郵件 (PEM 檔案) 憑證,或至少擁有公有金鑰,可在建立與受管節點的連線時使用。這必須是已與受管節點相關聯的索引鍵。必須設定私有金鑰檔案的許可,確保只有您可以讀取此檔案。您可以使用下列命令來設定私有金鑰檔案的許可,確保只有您可以讀取此檔案。
chmod 400
<my-key-pair>
.pem例如,對於 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,則是您在建立執行個體時建立或選取的金鑰對檔案。(您可以將憑證或金鑰的路徑指定為啟動工作階段命令的一部分。如需有關使用 SSH 啟動工作階段的資訊,請參閱 啟動工作階段 (SSH)。)
-
透過 Session Manager 控制 SSH 連線的使用者許可
透過 Session Manager 在受管節點上啟用 SSH 連線後,您可以使用 IAM 政策來允許或拒絕使用者、群組或角色透過 Session Manager 進行 SSH 連線。
若要使用 IAM 政策允許透過 Session Manager 進行 SSH 連線
-
使用下列其中一個選項:
-
選項 1:在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 在導覽窗格中,選擇 Policies (政策),然後更新您要允許透過 Session Manager 啟動 SSH 連線之使用者或角色的許可政策。
例如,將下列元素新增至您在 Session Manager的最終使用者政策快速入門 中建立的 Quickstart 政策。將每個
範例資源預留位置
取代為您自己的資訊。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:
region
:account-id
:instance/instance-id
", "arn:aws:ssm:*:*:document/AWS-StartSSHSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } } ] } -
選項 2:使用 AWS Management Console、或 AWS API,將內嵌政策附加至使用者策略。 AWS CLI
使用您選擇的方法,將選項 1 中的原則陳述式附加至使用 AWS 者、群組或角色的原則。
如需相關資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可。
-
若要使用 IAM 政策拒絕透過 Session Manager 進行 SSH 連線
-
使用下列其中一個選項:
-
選項 1:在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。在導覽窗格中,選擇 Policies (政策),然後更新使用者或角色的許可政策,以防止他們啟動 Session Manager 工作階段。 例如,將下列元素新增至您在 Session Manager的最終使用者政策快速入門 中建立的 Quickstart 政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }
-
選項 2:使用 AWS Management Console、或 AWS API,將內嵌政策附加至使用者策略。 AWS CLI
使用您選擇的方法,將選項 1 中的原則陳述式附加至使用 AWS 者、群組或角色的原則。
如需相關資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可。
-