如何在数据库中安全保存SSH凭据?

时间:2019-02-25 19:21:24

标签: php mysql ssh passwords

我有一个PHP脚本,该脚本通过SFTP连接到服务器以从那里获取数据。这对我的项目来说是必要的。

但是如何将凭据存储到我的MYSQL数据库中的该服务器?我不想将SSH密码存储为纯文本格式,但是我几乎必须这样做,因为否则脚本无法连接?这是真的还是另外一种安全的方法?

我的脚本的片段:

while($row = mysqli_fetch_assoc($servers)) {
  $srvip = $row["ip"];
  $srvuser = $row["user"];
  $srvpassword = $row["password"];
  $file = file_get_contents('ssh2.sftp://' . $srvuser . ':' . $srvpassword . '@' . $srvip . ':22/files/data.txt');
}

1 个答案:

答案 0 :(得分:0)

为什么不使用MySQL的加密选项,那么您可以在运行初始MySQL查询时解密密码?

https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html 不知道它是否适用于您的应用程序,但这就是我要使用的方式吗?