正如mscdex所提到的那样,ssh2不是用来与数据库建立ssh隧道连接的好模块。tunnel-ssh更合适。
这是我使用的配置选项:
dstPort:远程数据库连接端口
localPort:与dstPort相同,它将是用于本地计算机的端口
主机:SSH地址
dstHost:数据库连接网址(… mongodbns.com),
privateKey:SSH密钥
然后,一旦您的隧道连接,通过猫鼬连接到您的本地主机,例如mondodb:// localhost:27000(使用您在localPort中定义的本地端口)
var server = tunnel(config, function (error, server) {
if(error){
console.log("SSH connection error: " + error);
}
mongoose.connect('mongodb://localhost:27000/');
//...rest of mongoose connection
}