我需要备份远程机器的 mariadb 数据库。我的计划是运行
ssh user@remoteip 'mariadb-dump -uuser -ppass --all-databases > backup.sql'
从我的本地机器。
我发现远程机器history
没有被我刚刚执行的 mariadb-dump 命令填充。journalctl
也没有包含该命令。
在 ssh 命令中传递 mariadb 密码时,我是否应该担心远程端的任何安全问题?还有更好的选择吗?
我需要备份远程机器的 mariadb 数据库。我的计划是运行
ssh user@remoteip 'mariadb-dump -uuser -ppass --all-databases > backup.sql'
从我的本地机器。
我发现远程机器history
没有被我刚刚执行的 mariadb-dump 命令填充。journalctl
也没有包含该命令。
在 ssh 命令中传递 mariadb 密码时,我是否应该担心远程端的任何安全问题?还有更好的选择吗?
是的,这非常不安全。
运行时,系统上的任何用户都可以看到带有的明文密码
ps aux
。您应该
~/.my.cnf
为具有权限 600 和以下内容的用户添加一个文件:由于 MariaDB 和系统用户似乎匹配,您还可以允许系统用户通过以下方式
user
以 MariaDB 用户身份进行身份验证:user
unix_socket
这将授予以 MariaDB 用户命名的无密码登录
user
到系统用户命名user
(这通常很方便),而其他系统用户可以选择user
使用密码以 MariaDB 用户命名进行身份验证(如果后者不可取,pass
您可以运行 just )。ALTER USER 'user'@'localhost' IDENTIFIED VIA unix_socket;
然后你就可以运行: