接続できなくて5時間以上潰した。
解決した忘備録。
結論:アクセスキーを再生成した。
1. Windowsで作業するターミナルのインストール
2. ssh 接続準備
- AWS CLI MSI Windows 用 インストーラ (64 ビット):
- EXE インストーラを使用して Session Manager プラグインをインストールする
3. SSH の設定
- インストールしたAWS CLI のパスを調べる
where aws
- C:\Users\【UserName】.ssh\config に設定を追加
# SSH over Session Manager
host i-* mi-*
ProxyCommand C:\Program Files\Amazon\AWSCLI2\aws.exe ssm start-session --profile aws-pro --target %h --document-name AWS-StartSSHSession --parameters "portNumber=%p"
*Windowsの場合、実行ファイルのフルパスが必要
4. アクセスキーと秘密鍵の生成
- ブラウザから AWS ログイン
- 左メニューバー ≫ アクセス管理 ≫ ユーザー ≫ 該当ユーザー(選択) ≫ セキュリティ認証情報 ≫ アクセスキー ≫ アクセスキーを作成
- AK と SK を保存。CSV をダウンロード
5. IAM で SSH接続を許可する
- ブラウザからAWSにログイン
- 左メニューバー ≫ アクセス管理 ≫ ユーザー ≫ 該当ユーザー(選択) ≫ 許可ポリシー ≫ 許可を追加 ▼ ≫ 許可を追加 ≫ ポリシーを直接アタッチする ≫ 検索欄「AmazonSSMFullAccess または AmazonSSMManagedInstanceCore」を選択 ≫ 次へ ≫ 許可を追加
*グループを作成し、管理したほうが良い
6. プロファイル作成
$ aws configure --profile [profile名]
AWS Access Key ID [None]: [AWS CLIアクセスキー]
AWS Secret Access Key [None]: [AWS CLI秘密キー]
Default region name [None]: ap-northeast-1
Default output format [None]: json
7. Session Managerを通したSSH接続
aws ssm start-session --target i-***************** --profile [profile名]
- ssm-user から別のユーザーに切り替える
ssm-user は AWS Systems Manager セッションマネージャーを通じて EC2 インスタンスに接続した際にデフォルトで使用されるユーザー
sudo su - *****
参考URL
- https://qiita.com/TAC_yacht/items/eb7ac101c27cec221e2d
- https://qiita.com/Ted-HM/items/9a60f6fcf74bbd79a904
- https://qiita.com/reflet/items/e4225435fe692663b705
- https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/install-plugin-windows.html
- https://docs.aws.amazon.com/ja_jp/cli/v1/userguide/install-windows.html
- https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html#ssh-connections-permissions