将Docker内部生成的ssh密钥用作“伪” SSH密钥是否安全?

时间:2019-03-25 05:57:18

标签: docker ssh

我只是想成功实现私钥解析器,而我只是在Docker容器内使用ssh-keygen创建了ssh密钥:

docker run -it --rm circleci/node:11
# Inside of docker
ssh-keygen
# Accepted default values
cat ~/.ssh/id_rsa
# And copied and used this value

这些新密钥是否包含有关我的机器的任何信息(在Docker之外)?

如果我共享该id_rsa的内容是否危险?

我真的不需要我用于测试的ssh密钥具有功能,只要它符合私钥解析器即可。

1 个答案:

答案 0 :(得分:1)

我认为这通常是一种危险的做法,但是正如您所描述的那样,特定实例不会引起安全问题。

ssh RSA密钥是“仅”几个数字和一个注释字符串。 (就像物理房屋钥匙“只是”一块金属上切有一些凹槽和凹口的方式一样。)如果您生成了RSA密钥对,丢弃了公钥,然后发布了私钥,则它将并不是本质上的危险,因为该私钥在技术上不会对您进行任何身份验证。

不过,如果您习惯于发布ssh私钥,则可能会在某个时候在“正常”过程中发布“真实”密钥,这很糟糕。我建议这实际上不是最佳实践,您应该将每个私钥都视为对服务器具有root权限。

(这与Docker完全无关,只是如果您ssh-keygen位于容器内,则通常将其驻留在容器专用的文件系统中,并且泄漏起来会更难一些。)