Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
Node.js 通过nodejs上的ssh连接到postgres_Node.js_Postgresql_Ssh_Ssh Tunnel - Fatal编程技术网

Node.js 通过nodejs上的ssh连接到postgres

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

我使用ssh隧道在DBeaver上建立了如下连接:

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隧道