运维开发网

在Docker镜像上设置ssh公钥

运维开发网 https://www.qedev.com 2020-06-21 15:35 出处:网络 作者:运维开发网整理
我设置了支持ssh的Docker镜像.没问题,很多例子.但是,大多数示例都显示使用passwd设置密码.我想发布我的图片.拥有固定密码,尤其是root用户,似乎是一个巨大的安全漏洞.对我来说,更好的方法是使用没有密码的root设置映像.当用户获取图像时,他们会将其公共ssh文件复制到图像/root/.ssh/authorized_keys文件中. 有推荐的方法吗? >使用ADD命令提供基于我的图像
我设置了支持ssh的Docker镜像.没问题,很多例子.但是,大多数示例都显示使用passwd设置密码.我想发布我的图片.拥有固定密码,尤其是root用户,似乎是一个巨大的安全漏洞.对我来说,更好的方法是使用没有密码的root设置映像.当用户获取图像时,他们会将其公共ssh文件复制到图像/root/.ssh/authorized_keys文件中.

有推荐的方法吗?

>使用ADD命令提供基于我的图像构建的Dockerfile

那个用户可以编辑吗?

>提供一个运行类似“cat~ / .ssh / authorized_keys | docker run -i sh -c’cat> root / .ssh / authorized_keys”的shell脚本?

如何生成私钥并将其显示给用户?

我将此代码段用作图像的入口点脚本的一部分:

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
0

精彩评论

暂无评论...
验证码 换一张
取 消