4

ssh をサポートする Docker イメージをセットアップします。問題ありません、たくさんの例があります。ただし、ほとんどの例は、passwd を使用したパスワードの設定を示しています。画像を配布したい。特に root に対して固定パスワードを設定すると、大きなセキュリティ ホールのように見えます。私にとっては、パスワードなしで root を使用してイメージをセットアップすることをお勧めします。ユーザーがイメージを取得すると、パブリック ssh ファイルをイメージの /root/.ssh/authorized_keys ファイルにコピーします。

これを行うための推奨される方法はありますか?

  1. ユーザーが編集できる ADD コマンドを使用して、自分のイメージをビルドする Dockerfile を提供しますか?
  2. 「cat ~/.ssh/authorized_keys | docker run -i sh -c 'cat > root/.ssh/authorized_keys」のようなものを実行するシェル スクリプトを提供しますか?
4

1 に答える 1

8

秘密鍵を生成してユーザーに表示するのはどうですか?

画像のエントリポイント スクリプトの一部として、このスニペットを使用します。

KEYGEN=/usr/bin/ssh-keygen
KEYFILE=/root/.ssh/id_rsa

if [ ! -f $KEYFILE ]; then
  $KEYGEN -q -t rsa -N "" -f $KEYFILE
  cat $KEYFILE.pub >> /root/.ssh/authorized_keys
fi

echo "== Use this private key to log in =="
cat $KEYFILE
于 2014-01-07T17:08:44.490 に答える