V případě přímého použití databázového ovladače, pokud používáte mysql2
místo mysql
, můžete ve skutečnosti předat předaný proud ssh jako základní připojení, které má použít ovladač databáze. To vám umožní přeskočit nutnost vytvářet další server, který čeká na tunelování příchozích připojení. Místo toho můžete udělat něco takového:
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 ...
});