我想使用 docker-machine 从我的本地计算机在 Debian 9 服务器上部署容器。
我按照此页面的说明进行操作,其中清楚地表明:
如果您在主机上使用 « sudo »,请确保配置无密码 sudo:
# visudo %sudo ALL=(ALL) NOPASSWD:ALL
此外,docker-machine 驱动程序的docker 文档generic
也提到了相同的内容:
须藤权限
用于 SSH 进入主机的用户可以用
--generic-ssh-user
flag 指定。此用户需要无密码 sudo 权限。如果不是这种情况,您需要编辑sudoers
文件并将用户配置为 sudoerNOPASSWD
我不是专家,但我觉得这里出了点问题……不允许生产服务器上的用户在没有密码的情况下执行任何命令会造成安全漏洞吗?还是我错过了什么?
3个月后,我想我自己的问题有了答案。似乎只有在生产服务器首次在 docker-machine 中注册时才需要无密码配置。
一旦
docker-machine create --driver generic [...]
成功输入命令,docker-machine
就可以使用端口 2376 上的套接字连接到远程主机,并且sudo
不再在生产服务器上使用。换句话说,无密码的 sudo 配置应该会在服务器上出现几秒钟,并且稍后可能会被禁用。