Dalam hal menggunakan driver database secara langsung, jika Anda menggunakan mysql2
bukannya mysql
, Anda benar-benar dapat melewatkan aliran yang diteruskan ssh sebagai koneksi dasar yang akan digunakan oleh driver database. Ini akan memungkinkan Anda untuk melewati keharusan membuat server tambahan yang mendengarkan koneksi masuk yang akan disalurkan. Jadi Anda dapat melakukan sesuatu seperti ini sebagai gantinya:
var mysql = require('mysql2');
var Client = require('ssh2').Client;
var ssh = new Client();
ssh.on('ready', function() {
ssh.forwardOut(
'127.0.0.1',
12345,
'127.0.0.1',
3306,
function (err, stream) {
if (err) throw err;
var sql = mysql.createConnection({
user: 'foo',
database: 'test',
stream: stream // <--- this is the important part
});
// use sql connection as usual
});
}).connect({
// ssh connection config ...
});