- AWS Session Managerがセットアップ済み
- 利用するregionにおいて、
Enable Run As support for Linux instances
にチェックが入っている
- 個人のIAMアカウントを作成する
- credentialをその個人へ渡す
ssm-sstaff-bastion
グループに所属させるssm-user
(=root権限) でログインする場合はこの設定は不要- https://console.aws.amazon.com/iamv2/home#/groups/details/ssm-sstaff-bastion?section=users
- ログイン元のssh公開鍵認証キーペアの公開鍵を、ターゲットとなるホストのログインをするユーザの
authorized_keys
に登録する。
- 必須プログラム
- aws-cli
- aws session manager plugin
aws configure
などを使ってcredentialを設定ファイルに記述しておく- AWS Session managerを使ってbastionにssh接続してみる
aws ssm start-session --target i-05a6d249f191b253a
~/.ssh/config
へ以下の設定を追加する- もし、複数のprofileを使っている場合は
AWS_PROFILE
環境変数に設定してsshコマンド経由でも同じawsのcredentialを使うように注意する必要がある。
- もし、複数のprofileを使っている場合は
host i-* mi-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
- sshコマンドでbastionへ接続してみる
ssh sstaff@i-05a6d249f191b253a
- rsyncコマンド経由でファイルを転送してみる
rsync -aruzv -e ssh <source> sstaff@i-05a6d249f191b253a:<destination>