php ssh 连接mysql_通过PHP中的SSH连接到MySQL服务器?mysql-问答-阿里云开发者社区-阿里云...

SSH隧道解决方案 设置到MySQL数据库服务器的SSH隧道(最好是通过Jumpbox以获得安全性)。

(A)GUI工具 根据您的要求,您可以使用具有内置SSH隧道支持的GUI MySQL客户端(例如SequelPro),使用Visual Studio代码 转发端口/创建SSH隧道或使用PuTTY设置端口转发。

有一个名为Secure Pipes的macOS GUI ssh隧道工具,您可能也会发现它很有用。

(B)命令行 步骤1。

ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com 这里的关键是'-L'开关,它告诉ssh我们正在请求本地端口转发。我选择使用上面的端口3307。现在,本地计算机上定向到该端口的所有流量都将通过我的ssh客户端 “端口转发” 到在address主机上运行的ssh服务器ssh-jumpbox.com。10.3.1.55:3306在这种情况下,Jumpbox ssh服务器将代表您解密流量并建立与MySQL数据库服务器的网络连接。MySQL数据库服务器会看到来自Jumpbox内部网络地址的连接。

本地端口转发语法 语法有些棘手,但可以将其视为:

:: username@ssh_proxy_host.com 如果您对其他开关感兴趣,它们是:

-f(转到后台) -N(不执行远程命令) -g(允许远程主机连接到本地转发的端口)

私钥身份验证,在上面添加(-i)开关:

-i /路径/到/私钥

第2步。

告诉您的本地MySQL客户端通过您机器上的本地端口3307(-h 127.0.0.1)通过SSH隧道进行连接,该端口现在将通过您在步骤1中建立的SSH隧道转发发送给它的所有流量。

mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase

现在,客户端和服务器之间的数据交换是通过加密的SSH连接发送的,并且是安全的。

注意: 我不建议直接通过隧道传输到您的数据库服务器-使数据库服务器可以直接从Internet访问是巨大的安全责任。将隧道目标地址设为Jumpbox / Bastion主机的Internet地址(请参阅步骤1中的示例),并将数据库目标为远程网络上数据库服务器的内部 IP地址。SSH将完成其余的工作。

第三步

现在,使用以下命令连接您的PHP应用程序:

来源:stack overflow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值