0

使用 sshpass 有多安全?

我读过很多关于 sshpass 不安全的讨论,因为它将密码存储在日志文件和历史文件中。但是如果我使用以下方式,它会安全吗?

pass=''
if [ "$pass" == "" ];then
read -s -p "Enter Your Password: " pass
fi
sshpass -p "$pass" ......
4

1 回答 1

5

您的代码片段毫无意义。如果您要从用户那里读取密码,不妨运行 ssh。Sshpass 并不是为了替换这些用例。

此外, sshpass 不会将密码存储在任何地方。相反,为了以任何有意义的方式使用 sshpass,您需要将密码存储在某处。这不如使用公钥认证安全。Sshpass 旨在用于无法选择公钥的情况。

一个这样的常见用例是云服务器提供商,它们为服务器提供一些默认密码,但没有有效的公钥身份验证。为了从脚本启动和运行公钥认证,必须首先进行密码认证。SSHpass 弥补了这一差距。

一般来说,只有在没有其他替代方案可用时,才应将 sshpass 用作最后的手段。

编辑添加

直截了当地回答这个问题:sshpass 非常安全。它不会以任何方式或形式泄露您的密码。但是,它的使用模式要求您以不安全的方式存储密码。

换句话说,sshpass 是安全的,但使用它意味着你在做不安全的事情。不安全的程度取决于你。

于 2016-02-10T14:30:57.010 回答