AWS Systems Manager
ユーザーガイド

ステップ 7: (オプション) Session Managerを通して SSH 接続を有効にする

AWS アカウントのユーザーが AWS CLI を使用して、Session Manager を使用しているインスタンスへの Secure Shell (SSH) 接続を確立できるようにすることができます。SSH を使用して接続するユーザーは、Secure Copy Protocol (SCP) を使用してローカルマシンとマネージドインスタンス間でファイルをコピーすることもできます。この機能を使用すると、インバウンドポートを開いたり、要塞ホストを維持したりせずにインスタンスに接続できます。Session Manager を介してインスタンスへの SSH 接続を明示的に無効にすることもできます。

Session Managerを通して SSH 接続を有効にする

  1. SSH 接続を有効にするマネージドインスタンスで、次の手順を実行します。

  2. SSH を使用してマネージドインスタンスに接続するローカルマシンで、次の手順を実行します。

    • Session Manager プラグイン 1.1.23.0 バージョン以降がインストールされていることを確認します。

      Session Manager プラグインのインストールについては、(オプション) AWS CLI 用の Session Manager Plugin をインストールする を参照してください。

    • SSH 設定ファイルを更新して、Session Manager セッションを開始し、接続を介してすべてのデータを転送するプロキシコマンドを実行できるようにします。

      Linux

      ヒント

      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"
    • マネージドインスタンスへの接続を確立するときに使用する Privacy Enhanced Mail 証明書 (PEM ファイル) または少なくともパブリックキーを作成または確認します。(セッションを開始するには、コマンドの一部として証明書またはキーへのパスを指定します。SSH を使用してセッションを開始する方法については、セッションの開始 (SSH) を参照してください。)

Session Manager を介して SSH 接続を無効にするには

  • オプション 1: IAM ポリシーページを開き、ユーザーまたはロールのアクセス許可ポリシーを更新して、Session Manager セッションの開始をブロックします。たとえば、「クイックスタート Session Manager のエンドユーザーポリシー」で作成したユーザークイックスタートポリシーを変更する準備をします。次の要素をポリシーに追加するか、ユーザーがセッションを開始するのを許可するアクセス許可を置き換えます。

    { "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 User Guide の「IAM ID アクセス許可の追加と削除」を参照してください。