SSM で EC2 に接続する

Session Manager を使うと、SSH の鍵もインバウンドポートもなしで EC2 のシェルに入れます。 TTP は「いま繋がるインスタンス」だけを一覧に出すので、インスタンス ID を調べる手間がありません。 必要なのは Session Manager プラグインだけで、AWS CLI は不要です。

Tera Term とは独立した機能です。 SSM 接続は SSH の代わりに Session Manager を使うため、Tera Term も sshd も不要です。使わない場合、追加のインストールも設定も発生しません。

必要なもの

  1. Session Manager プラグイン

    クライアント側に必要なのはこれだけです。TTP には同梱していません。未導入のまま「AWS から接続」を開くと、インストール案内が表示されます。導入後は PATH を読み直すため、TTP を再起動してください。

  2. EC2 側の SSM Agent とインスタンスプロファイル

    SSM Agent が動作し、AmazonSSMManagedInstanceCore 相当の権限を持つインスタンスプロファイルが付いている必要があります。

  3. 接続する IAM ユーザーの権限

    後述の最小ポリシーを付与します。ssmmessages:* の4つを忘れると、セッションは張れるのにシェルが開かない、という分かりにくい失敗になります。

一覧に出る条件

TTP は ssm:DescribeInstanceInformation の結果から、PingStatus が Online のものだけを表示します。SSM Agent が停止している、IAM 権限が足りない、ネットワーク的に到達できないインスタンスは一覧に出ません。「一覧に出ない=そもそも接続できない」と判断できます。

手順

  1. 「AWS」→「AWS 設定...」で認証情報を入力

    アクセスキー ID、シークレットアクセスキー、リージョンを入力します。保存時にマスターパスワード由来の鍵で暗号化されます。

  2. 「接続テスト」で疎通を確認

    ここで失敗する場合、IAM 権限かネットワークの問題です。TTP を疑う前に、AWS CLI などで同じ認証情報が使えるか確認してください。

  3. 「AWS」→「AWS から接続...」(Ctrl+Shift+A)

    接続可能な EC2 インスタンスと ECS タスクの一覧が開きます。

  4. インスタンスを選んでダブルクリック

    セッションが開始され、シェルが開きます。

MFA を使っている場合

IAM ユーザーに MFA を必須とするポリシーを敷いている場合だけ、「AWS 設定」で「MFA を使用する」を有効にしてください。接続のたびに6桁コードを入力します。MFA を必須にしていない場合、この設定は不要です。

必要な IAM 権限(最小構成)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ecs:ListClusters",
        "ecs:ListTasks",
        "ecs:DescribeTasks",
        "ecs:ExecuteCommand",
        "ssm:DescribeInstanceInformation",
        "ssm:StartSession"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:CreateControlChannel",
        "ssmmessages:CreateDataChannel",
        "ssmmessages:OpenControlChannel",
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": "*"
    }
  ]
}

ECS Exec を使わない場合、ecs:* の4つと ecs:ExecuteCommand は不要です。EC2 の SSM 接続だけなら ec2:DescribeInstances、ssm:* の2つ、ssmmessages:* の4つで足ります。

うまくいかないとき

症状確認すること
一覧が空になるリージョンが正しいか。SSM Agent が動いているか。インスタンスプロファイルが付いているか。
接続テストで失敗するアクセスキーの有効性、ssm:DescribeInstanceInformation の権限、端末から AWS への経路。
セッションは始まるがシェルが開かないssmmessages:* の4権限。ここが最も見落とされます。
プラグインが見つからないと言われるプラグイン導入後に TTP を再起動したか(PATH の再読み込みが必要)。

注意事項

  • AWS のアクセスキーは ttp_data/aws.enc に暗号化して保存されます。ログ・例外メッセージ・子プロセスのコマンドラインには出力しません
  • 長期アクセスキーの保存を避けたい場合は、IAM 側で権限を絞るか、別の認証方式を併用してください
  • この機能は Tera Term を使いません。TTP の SSH 機能とは別の経路です

最終更新: 2026年11月14日