在脚本中使用密码安全地备份远程服务器的数据库吗?

目前,我使用一个小脚本自动备份我的数据库(的networking服务器)。 为了备份数据库,我创build了一个只读取和locking权限的用户帐户。 脚本将使用此用户来备份服务器。 所以,脚本有用户的密码。

问题是,我将数据库移动到远程服务器。 如果我这样做,在这样的脚本中使用密码会带来安全风险吗? 我有更好的解决scheme吗?

我会做的是将备份脚本存储在远程数据库服务器上,并将其转储到标准输出。 例如:

#!/bin/sh mysqldump -h12.23.34.45 -ubob -pacmeco -Dmysql 

然后使用基于密钥的身份validation通过ssh调用脚本,并在本地写入响应,如下所示:

 ssh user@server /path/to/backup/script.sh > databasebackup.sql 

我假设你通过互联网执行这个备份(我可能是错的),但你不应该这样做,因为默认情况下连接是未encryption的。 使用SSH方法,它保留了服务器上的所有身份validation凭据,并确保通信通道受到保护。

此外,您不应该先将数据库服务器locking在互联网上。