自前AMI(CentOS)とキーペアの関係

AWSでRedhat, CentOS環境を自前AMIから構築するとsshログイン用のキーペアが指定したものでなくAMI作成時に使用していたものが有効になる。そのキーさえ持っていれば利用できるケドダッシュボードのEC2情報に表示されるキーペア名と異なると複数のEC2, 複数のキーペアを管理している環境ではそのうち混乱しそうな予感。つか、なんで構築時に指定したキーペアが配置されないのかを調べてたら/etc/rc.localに以下の記述を発見。

# Get the root ssh key setup
ReTry=0
while [ ! -f /root/.ssh/authorized_keys ] && [ $ReTry -lt 10 ]; do sleep 2
curl -f <a href="http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key">http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key</a> &gt; /root/.ssh/pubkey
if [ 0 -eq 0 ]; then
mv /root/.ssh/pubkey /root/.ssh/authorized_keys
fi
ReTry=$[Retry+1]
done
chmod 600 /root/.ssh/authorized_keys &amp;&amp; restorecon
/root/.ssh/authorized_keys

どうも最初からauthorized_keysファイルが存在する場合はそのまま利用する模様。authorized_keysファイルを削除して再起動すると構築時に指定したキーペアでsshログインできることを確認。自前 AMIを作成する時は/root/.ssh/authorized_keyを削除(待避)させておけばこの作業も不要になると思われる。(未確認) Amazon Linuxの場合はログインアカウントがec2-userなのでこの事象は発生しない。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です