AWS SSM接続で安全に接続
2023/11/20
2024/03/12

ssm agentを使ってWindowsクライアントとaws consoleからの接続方法を案内する
AWSコンソールからセッションマネージャ接続(ssm)
1 2 3 4 |
<p>EC2がAmazon Linux2 の場合は下記のコマンドでssm-agentをインストールする必要があります。</p> $ sudo yum install amazon-ssm-agent -y $ sudo systemctl start amazon-ssm-agent $ sudo systemctl status amazon-ssm-agent |
次にSSHへ接続するSSM-Agent用のIAMユーザを作成しましょう。ユーザは何でもOKです。必要なのはユーザもしくはユーザが所属するグループにアクセス権限を付与することです。 つまりIAMでcredential設定を作成しWindows側で認証設定を実施してローカルにcredential情報をの残すようにしましょう。そうすることで途中の認証が自動化されます。
まず最初に任意のユーザがIAMにあったとしてそのユーザの情報画面にいきます。その中に下記のアクセスキーを作成する箇所があるのでボタンクリックで作成します。

次にaws cliでの接続「コマンドラインインターフェイス」で選択し次に行きます。

用途のタイトルをタグに書きます。半角英数字、一部記号なので入力内容はわかりやすく決めてください。

これでアクセスキーができました。コピーしてください。

credential認証情報のローカルPC登録
コマンドツールからaws cliのコマンドを入力します。「aws configure」ですね。先にやった操作で保存したcredential情報を登録します。
1 2 3 4 5 |
> aws configure AWS Access Key ID [None]: Access key ID AWS Secret Access Key [None]: Secret access key Default region name [None]: 未入力 Default output format [None]: 未入力 |
自動接続設定~/.ssh/configの設定例
自動設定して簡単に接続できるようにしましょう。ホスト名が長いから[ssh ホスト名]ではなく、シェル登録もしくはバッチで起動が最終的に良いでしょう。
1 2 3 4 5 6 7 8 |
Host rocky9 HostName i-0d3f7214102xxxxxx #EC2のインスタンスIDをここに記述 User rocky Port 22 ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p" IdentityFile ~/.ssh/rocky.pem TCPKeepAlive yes IdentitiesOnly yes |