我正在使用Perl脚本,使用Expect通过telnet登录到远程机器(不要问,必须使用telnet).我还会根据需要执行p4登录操作,并使用expect来输入正确的密码.现在我只是从明文环境变量中读取密码,即export PASSWORD=password
我知道这不是一个好的安全性.
为这些需要大量密码的脚本存储密码的最佳方法是什么?以某种方式在文本文件中加密?或者是其他东西?
请记住,我无法轻易更改现有系统,例如我无法真正安装SSH或类似的东西.
可能你最好的方法是将密码放在一个单独的文件中,然后锁定该文件的安全性,这样只有你具有读访问权限.遗憾的是,如果您在脚本中存储加密密码,则还必须存储解密方法,以便攻击者可以运行解密并恢复密码.
之前有一个非常相似的问题,请参阅我的回答.
简而言之,人类必须开始信任链.其他一切都是混淆.
如果您使用telnet,为什么要担心脚本中的密码?一个假定的攻击者会发现从远程计算机上捕获数据比从远程计算机上捕获数据更容易或更容易,并且在任何情况下都没有任何关于它的事情.
这听起来像是试图将酒吧放在窗户中并让门打开的情况.