Node.js 通过nodejs上的ssh连接到postgres
我使用ssh隧道在DBeaver上建立了如下连接:Node.js 通过nodejs上的ssh连接到postgres,node.js,postgresql,ssh,ssh-tunnel,Node.js,Postgresql,Ssh,Ssh Tunnel,我使用ssh隧道在DBeaver上建立了如下连接: sshHostname; sshPort; sshUser; sshPassword; 关于与数据库的实际连接,我有: dbHost; dbPort; dbName; dbUsername; dbPassword; 我的节点js代码如下所示: const { Pool, Client } = require('pg') const ssh2 = require('ssh2'); const dbServer = { host: d
sshHostname;
sshPort;
sshUser;
sshPassword;
关于与数据库的实际连接,我有:
dbHost;
dbPort;
dbName;
dbUsername;
dbPassword;
我的节点js代码如下所示:
const { Pool, Client } = require('pg')
const ssh2 = require('ssh2');
const dbServer = {
host: dbHost,
port: dbPort,
database: dbName,
username: dbUser,
password: dbPassword
}
var c = new ssh2();
c.connect({
host: sshHostname,
port: 22,
username: sshUser,
password: sshPassword
});
c.on('ready', function () {
c.forwardOut(sshHostname, '22', dbHost, dbPort , function(err, data) {
const client = new Client({
host: 'localhost',
port: dbPort,
database: dbName,
user: dbUser,
password: dbPassword,
})
client.connect(function (err) {
if (err) {console.log(err)}
else {console.log('connected...')}
});
client.end();
})
});
我得到以下错误:
Error: connect ECONNREFUSED 127.0.0.1:dbPort
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1133:16) {
errno: -4078,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: dbPort
}
我尝试了各种配置和各种库,但都没有成功
您知道如何通过nodejs通过隧道连接到数据库吗
我觉得我实际上没有连接到ssh隧道