2010-09-12 47 views
1

我正在研究只在当前会话期间存储ssh密码的python脚本。我正在做的是声明一个类变量credentials = {}。当脚本需要访问特定的服务器时,它会检查凭据以查看是否存在凭据['server']。如果是,则使用该处的密码,如果不是,则提示用户。在python中的类变量中存储密码

这一切都工作正常,但我只是想知道如果这是一个不好的方式来实现呢?这不关键,我需要关心安全性。我只是觉得如果我可以将凭据声明为私有会很好。

这是一个合理的方法吗?有没有更pythonic的方式来做到这一点或更适合python如何处理类成员访问?

回答

1

有点离题,但是当我编写脚本的时候会这样做,安全思想建议使用ssh-agent的方法。代理是一个后台进程,独立于python,但在相同的用户下运行,将存储凭据。然后脚本不需要担心提示或处理密码。

+0

是的,这是一个很好的解决方案,我敢肯定有很多解决方案都非常注重安全性。不过,我正在尽可能地使它变得便携。不是跨越不同的操作系统,而是跨越不同的Linux发行版,我不想安装额外的东西。 – Falmarri 2010-09-12 06:50:35

+0

ssh-agent是OpenSSH的一部分,因此它可能安装在您使用SSH的任何地方。虽然它可以更多的设置来获得密钥。 – 2010-09-12 07:03:15