gpt4 book ai didi

mongodb - 如何使用代理跳转(堡垒主机)通过 ssh 隧道连接到 mongodb 服务器

转载 作者:行者123 更新时间:2023-12-03 20:39:02 49 4
gpt4 key购买 nike

我有一个像这样的 ssh 配置文件。
我有一个代理从 test2 跳转到 host1。

Host host1
Hostname xxxxxx.us-east-1.elb.amazonaws.com
Port 2222
User xxxx
IdentityFile ~/.ssh/cert
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
KeepAlive yes
ServerAliveInterval 30
ServerAliveCountMax 30

Host test2
Hostname xx.xxx.xx.xxx
ProxyCommand ssh.exe host1 -q -W %h:%p host1
User ubuntu
IdentityFile ~/.ssh/cert
KeepAlive yes
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ServerAliveInterval 30
ServerAliveCountMax 30
我的 mongo 数据库主机:xxx-nonprod.cluster-xx.us-east-1.docdb.amazonaws.com
我必须使用主机使用 SSH 隧道到 Mongodb 测试 2 , 但它使用 使用代理跳转代理命令
我想使用带 的 SSH 隧道连接到 mongodb Mongo DB 指南针 还有 节点 js Mongoose .
如何使用 Mongo DB Compass 进行连接?
enter image description here
在这里我没有选择输入 代理命令细节。
如何使用节点 js 进行连接?
我正在使用 tunnel-ssh ,我有一个引用代码,
var config = {
username:'ubuntu',
host:'xx.xxx.xx.xxx',
agent : process.env.SSH_AUTH_SOCK,
privateKey:require('fs').readFileSync('~/.ssh/cert'),
port:22,
dstPort:27017
};

var server = tunnel(config, function (error, server) {

});
这里还有我如何输入 代理命令详情在这里?或者请建议任何解决此问题的 node js 包。

最佳答案

我现在可以连接到数据库了。

  • 从终端通过堡垒到数据库建立隧道。
    ssh -L 27017:{mongodb-host}:27017 host1
  • 我能够通过隧道从另一个终端的 localhost 连接到数据库。
    mongo --host 127.0.0.1:27017 --username {username} --password {password}

  • 所以我也可以使用连接字符串通过 Mongoose 进行连接。
    mongodb://dbadmin:{用户名}:{密码}@localhost:27017

    关于mongodb - 如何使用代理跳转(堡垒主机)通过 ssh 隧道连接到 mongodb 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67747533/

    49 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com