首页 > 解决方案 > 节点 SSH2 双 ssh 连接

问题描述

我正在尝试通过带有节点的 ssh 进行 2 次跳转,最终目标是连接到数据库。这个想法是:

local ->ssh-> bastion1 ->ssh-> bastion2

我不太明白这一点,我在第二个 ssh 说时不断收到错误消息error ECONNREFUSED x.x.x.xxx:22

我当前的代码如下所示:

const Client = require('ssh2').Client;

doubleBastion (sshConfig, dbConfig, debug = false) {
      dbConfig = this.addDefaults(dbConfig);
      return new Promise((resolve, reject) => {
        connOne = new Client();
        connOne.on('ready', () => {
            console.log('SSH 1 CONNECTED!');
            connTwo = new Client();
            connTwo.on('ready', () => {
                console.log('SSH 2 CONNECTED!');
                // establish db connection
            
            }).connect({
                passphrase: 'thepassword',
                host: 'x.x.x.x',
                user: 'ubuntu',
                privateKey: sshConfig.key
            });
        }).connect(sshConfig);
      });
 }

关于如何使这项工作的任何想法?

标签: node.jsssh

解决方案


推荐阅读