2012-11-01 36 views
3

因此,我最近偶然发现了python结构api,并且对于它如何帮助我处理日常的系统管理任务感到非常满意。我想在工作中开始使用它,但它是一个非常注重安全性的环境。我想知道织物在运行任务时如何处理您提供给它的ssh密码?我假设它在某处存储在内存中,并在需要登录到env.hosts的下一个主机时将其拉出。它在内存中如何保护这个密码?python结构如何保护ssh凭证?

我可以看到我将被问到很多问题沿着这些线,所以我正在寻找一种很好的方式来解释安全意识类型的人面料是友善的,并不构成风险或至少没有比我们已经拥有的任何其他风险更大:)

+1

https://github.com/fabric/fabric/blob/master/fabric/operations.py中的'sudo'命令代码。 – dm03514

回答

4

我简短地浏览了source @ dm03514引用,我相信你是正确的,如果和当光纤网需要交互式提示输入密码,它会将它读入内存并在织物python进程期间存储它。解决您的问题的方法不是针对结构本身,而是确保您的ssh基础结构在适当的情况下使用密钥而不是密码短语和ssh代理转发。使用已加密的ssh密钥和ssh-agent来解锁它们,并且fabric将能够使用相同的机制,从而避免ssh密码参与其中。对于sudo密码,您必须允许无密码的sudo,或者在内存运行时接受内存中具有sudo密码的风险。