geek.conf.2

あるエンジニアの備忘録

PackerとCentOSのAMI

PackerでCentOSのAMIをProvisioningして、そのAMIからLaunchしてもrootでsshログインできなかった。
CentOSのAMIはrc.localのスクリプトで/root/.sshディレクトリがすでにあると、Launch時に指定する公開鍵を/root/.ssh.authorized_keysに作成してくれない。

PackerでCentOSのAMIを作成するとPackerが一時的に秘密鍵を作成してauthorized_keysに登録する。
そのためそのAMIをLaunchして利用する秘密鍵を指定してもPackerの一時的な秘密鍵のままとなってしまい、
ログイン出来なかったのが、一行目の原因であーる。

これを回避するためにPackerのProvisionersに以下のshellを登録するべし。


{
"type": "shell",
"inline": [
"sudo rm -f /root/.ssh/authorized_keys"
]
}

Packer作成後に/root/.ssh/authorized_keysを削除している。