Packer: 〜/ .ssh / authorized_keys(AWS AMI)から削除されていないPacker一時キーペア

作成日 2016年08月03日  ·  3コメント  ·  ソース: hashicorp/packer

Amazon Linux AMIに基づいてpackerを使用してAMIを作成した後、そのAMIのインスタンスを起動してsshを実行すると、セキュリティホールである~/.ssh/authorized_keysファイルに一時的なpackerキーペアが表示されます。 AMIが保存される前にそのファイルが削除されることを期待していました。

パッカーテンプレートの~/.ssh/authorized_keysを明示的に削除することで、これを回避することができました(詳細は以下を参照)。

パッカーバージョン

パッカーv0.10.0

ホストプラットフォーム

CentOS Linuxリリース7.2.1511(コア)

PACKER_LOG=1 packer build template.jsonからのデバッグログ出力。

パッカーの出力は次のとおりです。

https://gist.github.com/tleyden/4cc13b530f08bcaef04f5233bf43daee

申し訳ありませんが、PACKER_LOG = 1を実行しませんでしたが、必要に応じて再実行できます

バグを再現するために必要な_最も単純なサンプルテンプレートとスクリプト_

テンプレート: https

脚本:
Jenkins Packerプラグインを使用し、次の方法で変数をpackerに渡します。

-var 'source_ami=${source_ami}' -var 'ssh_username=${ssh_username}' -var 'couchbase_server_package_name=${couchbase_server_package_name}' -var 'couchbase_server_package_url=${couchbase_server_package_url}' -var 'couchbase_sync_gateway_package_base_url=${couchbase_sync_gateway_package_base_url}' -var 'couchbase_sync_gateway_package=${couchbase_sync_gateway_package}' -var 'couchbase_server_version=${couchbase_server_version}' -var 'couchbase_sync_gateway_version=${couchbase_sync_gateway_version}' -var 'couchbase_server_edition=${couchbase_server_edition}' -var 'sync_gateway_edition=${sync_gateway_edition}'

回避策

次のプロビジョナーをパッカーテンプレートに追加しました。

    {
        "type": "shell",
        "inline": [
        "rm /home/ec2-user/.ssh/authorized_keys"
        ]
    }

AMIを起動した後は、AWSの「インスタンスの起動」ウィザードで選択されたキーのみが含まれ、パッカーの一時キーペアは含まれていませんでした。

buildeamazon invalid

最も参考になるコメント

これを報告するために時間を割いていただきありがとうございます。

これがAWSの仕組み、より具体的にはcloud-initの仕組みです。 回避策として説明するのは、実際には何をすべきかです。

全てのコメント3件

これを報告するために時間を割いていただきありがとうございます。

これがAWSの仕組み、より具体的にはcloud-initの仕組みです。 回避策として説明するのは、実際には何をすべきかです。

デッドスレッドを復活させて申し訳ありませんが、それを見つけてアマゾンからより多くの情報を見つけたので、私は他の人のためにここでそれを提供すると思いました:

https://aws.amazon.com/articles/how-to-share-and-use-public-amis-in-a-secure-manner/

つまり、rootとして以下を実行して、authorized_keysファイルをすべて削除することをお勧めします。

find / -name "authorized_keys" -exec rm -f {} \;

注意:リンクされたページのコマンドは、通常のダッシュ(-)とエラーを返す他の何かを組み合わせて使用​​しています。 コマンドを手動で入力するか、すぐ上のコマンドをコピーすると機能するはずです。

この問題は_ 30日間_⏳クローズされているため、ロックします。 これは、メンテナがアクティブな問題を見つけて集中するのに役立ちます。

これに似た問題を見つけた場合は、新しい問題を開いて問題テンプレートを完成させてください。これにより、さらに調査するために必要なすべての詳細を取得できます。

このページは役に立ちましたか?
0 / 5 - 0 評価