本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 8:(選用) 允許並控制透過 SSH連線的許可 Session Manager
您可以允許 中的使用者 AWS 帳戶 使用 AWS Command Line Interface (AWS CLI) 建立與受管節點的安全殼層 (SSH) 連線,方法是使用 AWS Systems Manager Session Manager。 使用 連線的使用者SSH也可以使用安全複製通訊協定 () 在本機機器與受管節點之間複製檔案SCP。您可以使用此功能,不需開啟傳入連接埠或維持堡壘主機,即可連接至受管節點。
允許SSH連線後,您可以使用 AWS Identity and Access Management (IAM) 政策明確允許或拒絕使用者、群組或角色,使用 進行SSH連線 Session Manager.
注意
日誌記錄不適用於 Session Manager 透過連接埠轉送或 連線的工作階段SSH。這是因為 會SSH加密所有工作階段資料,且 Session Manager 僅作為SSH連線的通道。
允許 的SSH連線 Session Manager
使用下列步驟允許透過 SSH進行連線 Session Manager 在受管節點上。
允許 的SSH連線 Session Manager
-
在您要允許SSH連線的受管節點上,執行下列動作:
-
確保 SSH 已在受管節點上執行。(您可以關閉節點上的傳入連接埠。)
-
確保 SSM Agent 受管節點上安裝 2.3.672.0 版或更新版本。
如需有關安裝或更新 的資訊 SSM Agent 在受管節點上,請參閱下列主題:
注意
使用 Session Manager 使用您啟用為受管節點的內部部署伺服器、邊緣裝置和虛擬機器 (VMs),您必須使用進階執行個體層。如需進階執行個體的詳細資訊,請參閱 設定執行個體方案。
-
-
在您要使用 連線至受管節點的本機電腦上SSH,執行下列動作:
-
確保 的 1.1.23.0 版或更新版本 Session Manager 外掛程式已安裝。
如需有關安裝 的資訊 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)。)
-
透過 控制SSH連線的使用者許可 Session Manager
透過 啟用SSH連線之後 Session Manager 在受管節點上,您可以使用IAM政策來允許或拒絕使用者、群組或角色透過 進行SSH連線 Session Manager.
使用IAM政策允許透過 SSH進行連線 Session Manager
-
使用下列其中一個選項:
-
選項 1:在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 在導覽窗格中,選擇政策 ,然後更新要允許透過 啟動SSH連線的使用者或角色的許可政策 Session Manager.
例如,將下列元素新增至您在 Quickstart 的最終使用者政策 Session Manager 中建立的 Quickstart 政策。取代每個
example resource placeholder
使用您自己的資訊。{ "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" ] } ] } -
選項 2:使用 AWS Management Console、 AWS CLI或 將內嵌政策連接至使用者政策 AWS API。
使用您選擇的方法,將選項 1 中的政策陳述式連接至 AWS 使用者、群組或角色的政策。
如需詳細資訊,請參閱 IAM 使用者指南 中的新增和移除IAM身分許可。
-
使用IAM政策來拒絕透過 的SSH連線 Session Manager
-
使用下列其中一個選項:
-
選項 1:在 開啟IAM主控台https://console.aws.amazon.com/iam/
。在導覽窗格中,選擇政策 ,然後更新要封鎖啟動的使用者或角色的許可政策 Session Manager 工作階段。 例如,將下列元素新增至您在 Quickstart 的最終使用者政策 Session Manager 中建立的 Quickstart 政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ] }
-
選項 2:使用 AWS Management Console、 AWS CLI或 將內嵌政策連接至使用者政策 AWS API。
使用您選擇的方法,將選項 1 中的政策陳述式連接至 AWS 使用者、群組或角色的政策。
如需詳細資訊,請參閱 IAM 使用者指南 中的新增和移除IAM身分許可。
-