web-dev-qa-db-ja.com

DockerWindowsホストのボリューム上の秘密鍵にアクセスするときの「保護されていない秘密鍵ファイル」

秘密鍵は、Dockerコンテナのボリュームを使用してマウントされます。ホストシステム(Windows)のアクセス許可は、-r--r--r--として定義されます。しかし、compose fileを実行すると、「 '/ root/.ssh/id_rsa'のパーミッション0755がオープンすぎます」というエラーが発生します。

また、ファイルをSFTPサーバーにアップロードするbashスクリプトを使用してアクセス許可を変更しようとしました。

chmod 600 /root/.ssh/id_rsa

エラー:

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| Permissions 0755 for '/root/.ssh/id_rsa' are too open.
| It is required that your private key files are NOT accessible by others.
| This private key will be ignored.
| Load key "/root/.ssh/id_rsa": bad permissions
| Permission denied (publickey,password).
| --- ERROR: sftp failed (status 255) ---
1
Web

あなたの問題は これ に近いようです。この場合、あなたのchmod 600はサイレントに失敗するはずです。これはエラーを説明し、ファイルは「誰でも読み取り可能」のままです。前のリンクでのOPの結論は、アクセス許可の問題について次のとおりです。今のところ、Windowsホスト上のGNU/Linux VM)でLinuxコンテナーを実行する方が、Docker Desktop forWindowsを介して直接実行するよりも優先されます。 。

ドキュメント itself を確認すると、この問題とその原因(Docker for Desktopが現在LinuxコンテナのボリュームをSMB経由で処理する方法)はすでにわかっています。

ただし、Windowsベースのコンテナを実行するには引き続き使用する必要があります。

1
frenchbeard