3

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

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

4

1 回答 1

5

我简要查看了引用的@dm03514,我相信你是正确的,如果fabric需要交互式提示输入密码,它会将其读入内存并在fabric python过程中存储。解决您的问题的方法不是结构本身,而是确保您的 ssh 基础设施在适当的情况下使用密钥而不是密码短语和 ssh 代理转发。使用加密的 ssh 密钥和 ssh-agent 来解锁它们,fabric 将能够利用相同的机制,从而完全避免涉及 ssh 密码。对于 sudo 密码,您要么必须允许无密码 sudo,要么接受 Fabric 在工作时将 sudo 密码保存在内存中的风险。

于 2012-11-01T14:50:43.863 回答