aws-ec2-ssh利用メモ
■まえおき
aws-ec2-sshを利用してAWS IAMユーザとLinuxOSユーザの紐付け管理を可能とする手順のメモ。
後述のURLを参考させていただきました。
■手順
1.EC2のLinuxOS上の作業
・Git(パッケージ版)をインストール
・AWS CLIをインストール
・aws-ec2-sshのgitクローンを作成
・aws-ec2-sshディレクトリにあるファイルの中身をいろいろ確認する
2.AWS マネコン上の作業
・IAMユーザ、IAMグループ作成
・IAMロール(iam_ssh_policy.jsonを含む)をEC2に付与
・IAMユーザ毎に公開鍵を作成し、アップロード登録
3.aws-ec2-sshのインストール
・/etc/aws-ec2-ssh.conf設定
・aws-ec2-sshのインストール
・OS上にユーザが作成されていることを確認
・各IAMユーザ名でログイン
・管理者権限ユーザについてはsudoでrootにスイッチできることを確認
■仕組み
調べた範囲で記載
○「import_users.sh」の設定
・CLIコマンドでIAM情報取得(aws iam xxx)とOSユーザ設定
・管理者ユーザのsudo設定
# cat /etc/sudoers.d/(管理者ユーザ名)
(管理者ユーザ名) ALL=(ALL) NOPASSWD:ALL
○ログイン時の認証について
OSユーザの.ssh配下にある公開鍵の代わりに、/opt/authorized_keys_command.shに
記載されたCLIコマンド(aws iam get-ssh-public-key)実行にて、IAMユーザ毎に
IAMに登録した公開鍵を取得する。
# cat /etc/ssh/sshd_config | grep AuthorizedKeysCommand
AuthorizedKeysCommand /opt/authorized_keys_command.sh
AuthorizedKeysCommandUser nobody
■その他
各IAMユーザが公開鍵をIAMにアップロード登録する権限として、以下のポリシーなどを適宜アタッチしておく。
・ReadOnlyAccess
・IAMUserSSHKeys (ユーザ自身のみSSHキー管理が可能となる)
■参考URL
aws-ec2-sshでEC2の踏み台サーバのユーザ管理を楽にする
https://qiita.com/bigplants/items/f2d4d15922d87c0d25e4
やってみた~aws-ec2-sshでEC2の踏み台サーバのユーザ管理を楽にする~
https://hedgehogweeklyreport.hatenablog.com/entry/2018/12/08/115746