我需要通过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 "$*"
这样,您可以照常通过包装器调用程序。