ssh2_connect之后PHP与数据库的连接

I have a web site and I am trying to communicate with a PostgreSQL database which is sitting on my personal server (CentOS 7).

I have taken the following steps

  • forwarded the ssh port on my server (after disabling password authentication)
  • generated the ssh keys and placed them onto the web server
  • setup the SSH2.so library on the webserver
  • created the php script to establish the connection

These all work fine and my script is capable of making the connection to the ssh server

<?php

ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);

$connection = ssh2_connect('xxx.xx.xx.xx', 22);

if (ssh2_auth_pubkey_file($connection, 'usname',
                      './ssh_key.pub',
                      './ssh_key', 'psword')) {

    echo "Public Key Authentication Successful
";

} else {

    die('Public Key Authentication Failed');

}

?>

So all this works but I am struggling to connect to the database on the server I've made the connection to, is there a different way of connecting to the database that works with an ssh connection?

doufei3152
doufei3152 您可以使用php.net/ssh2-tunnel,但您也可以使用autossh进行密钥验证。
接近 5 年之前 回复
dpvv37755
dpvv37755 我可以使用当前的方法创建一个ssh_tunnel吗?不幸的是,服务器只允许密钥验证,因为它对Web开放
接近 5 年之前 回复
dpwdsmbvm496180204
dpwdsmbvm496180204 使用autossh隧道创建持久隧道会更好。使用任何SSH库,无论是libssh2还是其他什么,都会每次重新协商连接。因此,每当有人发出HTTP请求时,就不会进行密钥交换,这会让事情变慢。
接近 5 年之前 回复
dongxia5394
dongxia5394 你为什么用SSH连接到postgres?只需使用PHP驱动程序进行postgres(php.net/manual/en/function.pg-connect.php),然后如果要保护通道,则启用TLS。
接近 5 年之前 回复
donglizuo8892
donglizuo8892 unix.stackexchange.com/questions/239428/...
接近 5 年之前 回复
dongyun51582
dongyun51582 正如@MarcB所说,你实际上可以设置一个到框的持久隧道,这不涉及使用PHP,然后使用标准的数据库访问功能来“本地”连接。
接近 5 年之前 回复
duan4739
duan4739 你只需要一个标准的ssh“shell”连接。你需要做端口转发。
接近 5 年之前 回复
doujin8673
doujin8673 你能链接到这个问题吗?
接近 5 年之前 回复
doutuosai3504
doutuosai3504 显然不是,我试图打开postgresql端口到网络,但没有成功,我在这里发布了一个问题,每个人都建议我通过ssh做到这一点
接近 5 年之前 回复
dongliuliu0385
dongliuliu0385 你为什么试图通过ssh?您是否可以设置PostgreSQL以允许通过其标准端口访问您的IP?
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐