Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 没有密码但密钥验证安全的Mysql服务器?_Php_Mysql_Mysqli_Ssh_Centos - Fatal编程技术网

Php 没有密码但密钥验证安全的Mysql服务器?

Php 没有密码但密钥验证安全的Mysql服务器?,php,mysql,mysqli,ssh,centos,Php,Mysql,Mysqli,Ssh,Centos,以下情况:我有点困惑。在CentOS 7上运行MariaDB时,在通过SSH连接时遇到一些问题。注意到我已经为我的DB用户设置了密码,我正试图用私钥连接。 我删除了密码([…]password(“”)),一切正常 Mysql工作台正在连接: SSH主机名:服务器公共IP:22 SSH用户名:Dbuser SSH密钥文件:/path/to/id\u rsa.ppk Mysql主机名:127.0.0.1 Mysql服务器端口:3306 如果我删除密钥文件并尝试连接,它会给我一个错误:错误的身份验

以下情况:我有点困惑。在CentOS 7上运行MariaDB时,在通过SSH连接时遇到一些问题。注意到我已经为我的DB用户设置了密码,我正试图用私钥连接。 我删除了密码([…]password(“”)),一切正常

Mysql工作台正在连接:

  • SSH主机名:服务器公共IP:22
  • SSH用户名:Dbuser
  • SSH密钥文件:/path/to/id\u 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'

那么,它安全吗?

您的MySQL用户
DBuser
只允许ip
127.0.0.1
连接, 因此,您只允许在MySQL数据库服务器所在的位置连接MySQL