🙂opensshのポートフォワーディング機能をNodeJSのSSH2でエミュレートするには
💻 OpenSSHのポートフォワーディング機能をNode.jsのSSH2モジュールでエミュレートするには、以下の手順を実行する必要があります。
npm install ssh2
const Client = require('ssh2').Client;
const conn = new Client();
conn.on('ready', () => {
console.log('Client :: ready');
conn.forwardOut(
/* srcIP: string */ '127.0.0.1',
/* srcPort: number */ 8000,
/* dstIP: string */ 'remote.server.com',
/* dstPort: number */ 80,
(err, stream) => {
if (err) throw err;
// use `stream` to send/receive data
}
);
});
conn.connect({
host: 'remote.server.com',
port: 22,
username: 'username',
password: 'password'
});
この例では、SSH接続を確立し、conn.forwardOut()メソッドを使用して、ポート8000からリモートサーバーのポート80に転送する方法を示しています。
例えば、以下のように設定することができます。
conn.forwardOut(
/* srcIP: string */ '127.0.0.1',
/* srcPort: number */ 8000,
/* dstIP: string */ 'remote.server.com',
/* dstPort: number */ 80,
(err, stream) => {
if (err) throw err;
// use `stream` to send/receive data
}
);
この例では、ポート8000からリモートサーバーのポート80に転送するように設定しています。
以上の手順に従って、OpenSSHのポートフォワーディング機能をNode.jsのSSH2モジュールでエミュレートすることができます。