hou*_*ack 6 ssh-keys docker boot2docker
我在Windows 7上使用boot2docker.VirtualBox正在从c:\Users\Me\.sshboot2docker VM(/c/Users/Me/.ssh)内的Windows()安装我的Windows~/.ssh目录.
我的Dockerfile正在配置要用作开发环境的映像.它将一组SSH密钥和一个用于自动部署的配置复制到容器中.这很好用.当容器启动时,它会在没有提示的情况下自动克隆映像中的git存储库.
我现在正在尝试使用相同的图像,但允许用户通过docker run -v ...他们自己的.ssh目录进行安装,以便他们可以选择使用自己的SSH密钥.当我通过添加-v /home/myself/.ssh:/home/guest/.ssh到运行容器的命令来执行此操作时,我收到有关权限过于开放的SSH警告:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/guest/.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.
bad permissions: ignore key: /home/guest/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
我尝试在ENTRYPOINT脚本中添加一行,chmod -R 700 /home/guest/.ssh但似乎无效或在安装卷之前执行.
我还尝试/home/guest/.ssh在正在运行的容器中更改权限,但无法执行此操作.运行时没有错误,chmod -R 700 /home/guest/.ssh但权限不会更改.
我在另一个关于Docker卷权限的问题中看到了提问者使用ACL的建议,但我不知道这是不是一个好主意,或者它是否会起作用.
无论如何,允许用户在Docker容器中使用自己的SSH密钥和SSH配置的最简单方法是什么?
稍微有点笨拙,但你可以将.ssh文件复制到一个新目录中并在shell的启动时chmod它们.
即通过卷为容器提供SSH文件,但使用shell ~/.profile将它们复制到〜/ .ssh.
| 归档时间: |
|
| 查看次数: |
2844 次 |
| 最近记录: |