我需要通过ssh连接到远程mongoDB服务器,我之前是用mysql来做的,它看起来像:

sshcon, err := ssh.Dial("tcp", fmt.Sprintf("%s:%d", sshHost, sshPort), sshConfig)
    if err == nil {
        defer sshcon.Close()
        mysql.RegisterDial("mysql+tcp", (&ViaSSHDialer{sshcon}).Dial)

mgo包中是否有类似mysql.RegisterDial的功能?

最佳答案

在您的代码中添加隧道功能确实没有任何意义。一个简单的包装程序外壳脚本使您不必重新发明轮子:

#!/bin/bash

ssh $USER@$MONGO_HOST -L $LOCAL_PORT:127.0.0.1:27017
./yourApplication "$*"

这样,您可以照常通过包装器调用程序。

08-06 10:25