私はDocker swarmを持っています。SSH経由で別のコンテナに接続するサービスでは、秘密のRSAキーを使用したいと思います。ドッカーの秘密とRSAキー
私のセキュリティポリシーは、すべての秘密(パスワード、キーなど)が宛先サーバ(Swarm)とは異なるマシンに保存されているということです。
touch /run/secrets/id_rsa
touch /run/secrets/id_rsa.pub
そして今:
mkdir -p /run/secrets
は、その後、私は偽物id_rsa
とid_rsa.pub
ファイルを作成します。実際に
(と私はそれを好きではない)、私のDockerfileに私は一時ディレクトリ/run/secrets
を作成します私はシンボリックリンクを作成します:
ln -s /run/secrets/id_rsa /root/.ssh/id_rsa
ln -s /run/secrets/id_rsa.pub /root/.ssh/id_rsa.pub
私はdocker-entrypoint.sh
の秘密をコピーする方法を見つけなかったので私はこれをしています:エントリーポイントで私はルートではないので/root
ディレクトリにコピーできません。
私は既にDockerの秘密を使用していますが、ここでの問題は、コンテナ内の秘密が読み取り専用であることです。その影響SSHの使用:それは読み取り専用ですので、
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/root/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
は私が私のid_rsa
ファイルのパーミッションを変更することはできません。
解決策はありますか、それとも本当に良い方法がありますか?
おかげ
EDIT 1:
私は/root/.ssh
ディレクトリにキーをコピーするために、私ドッカーイメージを構築する方法を変更しようとしています。
Dockerfileであなたは 'USER'文でユーザーを変更することができます。また、sshキーの許可は '444'ではなく '600'でなければなりません - chmod 600' –
Opal
はい、私は知っています、それは私の問題です。 Dockerの秘密では、私は読み取り専用なので許可を変更できません。 –
Dockerfileを提供してもらえますか? – Opal