使用sshpass有多安全?
我读过很多关于sshpass不安全的讨论,因为它将密码存储在日志文件和历史文件中。但如果我使用以下方式,它会安全吗?
pass=''
if [ "$pass" == "" ];then
read -s -p "Enter Your Password: " pass
fi
sshpass -p "$pass" ......
答案 0 :(得分:3)
您的代码段毫无意义。如果您要从用户那里读取密码,也可以运行ssh。 Sshpass不是为了替换这些用例。
此外,sshpass不会将密码存储在任何位置。相反,为了以任何有意义的方式使用sshpass,您需要将密码存储在某处。这比使用公钥认证安全性低。 Sshpass旨在用于公钥不可选的情况。
一个这样的常见用例是云服务器提供商,它为服务器配置了一些默认密码,但没有工作的公钥认证。为了从脚本启动并运行公钥认证,必须首先进行密码认证。 Sshpass填补了这一空白。
一般情况下,只有sshpass作为最后的手段,当没有其他替代方案可用时。
已添加
明确回答这个问题:sshpass非常安全。它不会以任何方式或形式泄露您的密码。但是,它的使用模式要求您以不安全的方式存储密码。
换句话说,sshpass是安全的,但使用它意味着你做了不安全的事情。你的不安全程度如何。