【发布时间】:2017-01-29 18:36:09
【问题描述】:
以下情况:我有点困惑。在 CentOS 7 上运行 MariaDB,通过 SSH 连接时遇到了一些问题。注意到我已经为我的数据库用户设置了密码,并且我正在尝试使用私钥进行连接。 我删除了密码( [...] PASSWORD('') ),一切正常。
Mysql Workbench 正在连接:
- SSH 主机名:Server-Public-IP:22
- SSH 用户名:Dbuser
- SSH 密钥文件:/path/to/id_rsa.ppk
- Mysql 主机名:127.0.0.1
- Mysql 服务器端口:3306
如果我删除密钥文件并尝试连接它会给我一个错误:错误的身份验证类型。这正是我想要的。
我的网站位于服务器本身,我使用的是 PHP:
$mysqli->real_connect("127.0.0.1","Dbuser", "", "Dbname");
连接。这也很有效。但是由于我没有用
设置密钥文件$mysqli->options(MYSQLI_SERVER_PUBLIC_KEY, '');
这让我想知道是否不是每个人都可以通过 SSH 隧道连接到服务器。还是只能从服务器本身连接? (不是SSH隧道模拟的吗?)
DBuser 的 Mysql 权限是:
GRANT ALL PRIVILEGES ON *.* TO 'DBuser'@'127.0.0.1'
那么,它安全吗?
【问题讨论】:
标签: php mysql mysqli ssh centos