python结构如何保护ssh凭据?

时间:2012-11-01 14:02:16

标签: python security api password-protection fabric

所以我最近偶然发现了python fabric api,并且非常满意它如何帮助我完成日常的系统管理任务。我想在工作中开始使用它,但它是一个非常注重安全的环境。我想知道Fabric在运行它的任务时如何处理你提供给它的ssh密码?我假设它在某个地方将它存储在内存中并在需要登录env.hosts中的下一个主机时将其拉出来?如何在内存中保护此密码?

我可以看到我会被问到很多这样的问题,所以我正在寻找一种很好的方式向安全意识的人解释面料是否友好且不会造成风险或者至少没有比我们已经拥有的任何其他风险更多的风险:)

1 个答案:

答案 0 :(得分:4)

我简要介绍了引用的source @ dm03514,我相信你是正确的,如果和Fabric需要以交互方式提示输入密码,它会将其读入内存并存储它的持续时间。面料python过程。解决您的问题的方法不是使用结构本身,而是确保您的ssh基础结构在适当时使用密钥而不是密码和ssh代理转发。使用enrypted ssh密钥和ssh-agent来解锁它们,然后结构将能够利用相同的机制,从而避免使用ssh密码。对于sudo密码,你要么必须允许无密码sudo,要么在工作时接受在内存中使用sudo密码的风险。