go - 通过 SSH golang 连接到 mongoDB

标签 go ssh mgo

我需要通过 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的函数吗?

最佳答案

将隧道功能添加到您的代码中确实没有意义。一个简单的包装器 shell 脚本使您不必重新发明轮子:

#!/bin/bash

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

有了这个,您可以像往常一样通过包装器调用您的程序。

关于go - 通过 SSH golang 连接到 mongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54768098/

相关文章:

json - 从 go 中的 mongo 获取纯 json

go - 如果 GO 项目包托管在不同的存储库上,如何组织它(GitHub 和 SourceForge)

go - Golang中“append”的最大O是什么?

java - 使用 Jsch 的 .keystore 文件中的私有(private) RSA key

python - 有没有办法同时使用 fabric run() 和 sudo() ?

mongodb - 如何使用 mgo(golang 客户端)查询 mongodb 中的 UUID 字段?

go - 如何使用 mgo 在 golang 中编写 mongodb 搜索

go - 仅在 Golang 中递归的最外层函数上运行语句

datetime - 将 UTC 字符串转换为时间对象

bash - bash 脚本(包括 SCP 和 SSH)的一个密码提示