Docker登录安全-凭证安全存储
使用pass保护仓库登录凭证
1、在阿里云注册自己的仓库
2、在Linux中登录仓库
登陆
docker login --username=kdl54188 registry.cn-hangzhou.aliyuncs.com
报警告原因:认证信息被保存在/root/.docker/config.json
3、查看登录凭证并且解码密码信息
cat /root/.docker/config.json
有一句"auth": "xxx"
echo 'xxx' | base64 --decode可以查看到账号密码
注销登陆时会删掉文件中的认证信息
docker logout registry.cn-hangzhou.aliyuncs.com
4、配置pass保护密码安全
安装密码仓库
yum install -y gpg pass rng-tools
pass无法直接yum安装,需要下载源码包
curl -o password-store1.7.3.tar.xz https://git.zx2c4.com/password-store/snapshot/password-store1.7.3.tar.xz
tar Jxf password-store-1.7.3.tar.xz
cd password-store-1.7.3&&make install
使用GPG生成KEY
rngd -r /dev/urandom
gpg --gen-key
#一堆问题………………
还要设置一个密码
gpg --list-keys
pass init “上条命令中看到的keyid” //pubkey的id,不是私钥
验证PASS密码本
pass insert mail/test@qq.com
输入密码
pass show mail/test@qq.com
安装DOCKER辅助工具
wget https://github.com/docker/docker-credentialhelpers/releases/download/v0.6.3/docker-credential-pass-v0.6.3-amd64.tar.gz
#链接失效
tar xf docker-credential-pass-v0.6.3-amd64.tar.gz
chmod a+x docker-credential-pass
mv docker-credential-pass /usr/local/bin/
docker-credential-pass
Usage: docker-credential-pass <store|get|erase|list|version>
docker-credential-pass version
修改docker登录配置
清空/root/.docker/config.json配置,写入内容
{
"credsStore": "pass"
}
初始化docker的存储密码
pass insert docker-credential-helpers/docker-passinitialized-check
#
验证初始化结果
pass show docker-credential-helpers/docker-passinitialized-check
docker-credential-pass list
5、查看验证信息
重新登录镜像仓库
docker login --username=kdl54188 registry.cn-hangzhou.aliyuncs.com
cat /root/.docker/config.json
可以看到密码信息没有保存在json文件中,那我们去验证一下密码仓库是否有保存
查看密码仓库存储信息
docker-credential-pass list
pass
echo "xxx" | base64 --decode
如果未找到tree
命令,使用yum install tree
安装。安装后继续