設定値の確認
各変数に正しい設定値が格納されていることを確認します。
変数の確認:
cat << END
# 1. FILE_OPENSSH_KEY_SECRET:"${HOME}/.ssh/handson-iam-authentication-sshkey"
FILE_OPENSSH_KEY_SECRET="${FILE_OPENSSH_KEY_SECRET}"
# 2. FILE_OPENSSH_KEY_PUBLIC:"${HOME}/.ssh/handson-iam-authentication-sshkey.pub"
FILE_OPENSSH_KEY_PUBLIC="${FILE_OPENSSH_KEY_PUBLIC}"
# 3. IAM_USER_NAME:"handson-iam-authentication-user"
IAM_USER_NAME="${IAM_USER_NAME}"
END
各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。
もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。
処理の実行
IAMユーザーのSSH公開鍵をアップロードします。
変数の確認:
cat << END
# IAM_USER_NAME:"handson-iam-authentication-user"
IAM_USER_NAME="${IAM_USER_NAME}"
# FILE_OPENSSH_KEY_PUBLIC:"${HOME}/.ssh/handson-iam-authentication-sshkey.pub"
FILE_OPENSSH_KEY_PUBLIC="${FILE_OPENSSH_KEY_PUBLIC}"
END
コマンド:
aws iam upload-ssh-public-key \
--user-name ${IAM_USER_NAME} \
--ssh-public-key-body file://${FILE_OPENSSH_KEY_PUBLIC}
結果(例):
{
"SSHPublicKey": {
"UserName": "handson-iam-authentication-user",
"SSHPublicKeyId": "APKAxxxxxxxxxxxxxxxx",
"Fingerprint": "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx",
"SSHPublicKeyBody": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHxp9yhNhnjpgQ0rv2e+VNCKuCou89qG+i89+PSVyL/z SSH Key for handson-iam-authentication.",
"Status": "Active",
"UploadDate": "2026-05-28T01:23:45.678Z"
}
}
完了確認
「IAMユーザー"handson-iam-authentication-user"にSSH公開鍵が登録されている。」ことを確認します。
コマンド:
aws iam list-ssh-public-keys \
--user-name ${IAM_USER_NAME} \
--query "SSHPublicKeys[?UserName == \`${IAM_USER_NAME}\`].SSHPublicKeyId" \
--output text
結果(例):