在我的 Node 应用程序中使用 SSH 连接到 MongoDB

2024-02-01

我的数据库使用 DigitalOcean,我正在尝试在我的节点应用程序中连接到它。

我发现了一个名为的 npmtunnel-ssh但是我无法连接到它。我的代码如下。

它说数据库连接成功,但是当我执行console.log(mongoose)它显示主机和主机为空。

If I do console.log(mongoose), 之后console.log("DB connection successful");然后它向我显示了主机。

var tunnel = require('tunnel-ssh');

var config = {
    agent : 'myuser',
    host: 'xxx:xxx:xxx:xxx'
    agent : process.env.SSH_AUTH_SOCK,
    privateKey:require('fs').readFileSync('id_rsa'),
    port:22,
    dstPort:27010,
    keepAlive: true
};

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

    if(error){
        console.log("SSH connection error: " + error);
    }

    mongoose.connect('mongodb://127.0.0.1:27017/mysuperdb');

    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'DB connection error:'));
    db.once('open', function() {
        console.log("DB connection successful");
    });

});

这是工作代码:

var tunnel = require('tunnel-ssh');

var config = {
    username : 'myuser',
    host: 'xxx:xxx:xxx:xxx',
    privateKey:require('fs').readFileSync('id_rsa'),
    port:22,
    dstPort:27010,
    localPort: 2000
};

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

    if(error){
        console.log("SSH connection error: " + error);
    }

    mongoose.connect('mongodb://127.0.0.1:2000/mysuperdb');

    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'DB connection error:'));
    db.once('open', function() {
        console.log("DB connection successful");
    });

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在我的 Node 应用程序中使用 SSH 连接到 MongoDB 的相关文章

  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 修复数据库需要多少额外空间

    我已经问过了这个问题在 mongodb google group https groups google com d topic mongodb user oi6S LKfTrs discussion 在没有任何回复的情况下将其发布在这里
  • 如何从@google-cloud/storage读取文件?

    我正在从我的存储桶中检索文件 我收到该文件并想要阅读其内容 但我不想将其下载到我的本地项目 我只想读取内容 获取数据并用它进行其他操作 我的代码 export const fileManager async gt try const sou
  • 未找到“MongoId”类(带有 MongoDB Doctrine 的 Zend 框架)

    我目前正在尝试将 MongoDB 与 ZendFramework 中的 Doctrine 集成 我做了很多教程 在 StackOverflow 或其他地方 但没有任何效果 我一步步按照教程进行操作 http www bigwisu com
  • 使用 TFS 2015 运行 Jest 单元测试

    有人尝试将 jest 单元测试与 TFS 2015 集成吗 我尝试使用 Chutzpah 测试适配器 https visualstudiogallery msdn microsoft com f8741f04 bae4 4900 81c7
  • 以异步方式执行 Express res.render

    我有一个 Nodejs 应用程序 其中res renderExpress 方法以阻塞方式花费大约 400 毫秒 我如何处理它以非阻塞方式执行 我的 apache 基准测试需要 12 秒来执行大约 30 个并发请求 我如何以更好的方式实施这一
  • 在单个 mongodb 查询中查找并计数

    我的文档看起来像这样 id ObjectId 572c4bffd073dd581edae045 name What s New in PHP 7 description PHP 7 is the first new major versio
  • 获取mongodb中单个查询的最小值和最大值

    考虑 Words 中的以下文档 id 1 usages 2 word Name id 2 usages 1 word Street id 3 usages 1 word House id 4 usages 3 word Table id 5
  • 使用无服务器访问 SSM 变量

    我想用无服务器变量中的 SSM 参数 https serverless com blog serverless v1 22 0 按照文档 我运行了以下命令 aws ssm put parameter name foo value bar t
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 动态更改温斯顿的日志级别

    我尝试在运行时实现日志级别更改 我一直在关注https github com yannvr Winston dynamic loglevel blob master test https github com yannvr Winston
  • 函数不会等到 Promise 得到解决

    我正在开发一个简单的不和谐机器人 我正在尝试打印有关某个玩家的一些一般数据 我最近了解了 async await 并尝试将其实现到我的代码中 然而 它似乎不起作用 因为当我第一次触发此代码时 它会打印 null 但在后续触发时 它将打印正确
  • 电子应用程序可以播放本地支持的任何视频吗?

    我知道浏览器通常会限制玩家mp4 and webm类型的媒体 但我想知道基于电子的应用程序是否可以运行 MKV 和 AVI 等格式的本地视频 我找不到明确的来源来告诉我什么是可用的 什么是不可用的 Electron 仍然仅限于网络技术 这意
  • 如何使用 AMQP 以“PeekLock”模式从 Azure 服务总线队列获取消息?

    我们正在尝试在 Node 应用程序中使用 Azure 服务总线 我们的要求是从队列中获取多条消息 由于Azure SDK for Node不支持批量检索 我们决定使用AMQP 虽然我们能够使用 Peek Messages 获取消息 如此处所
  • 将随机字节转换为整数范围 - 如何?

    我试图通过读取 crypto randomBytes 来获取一定范围内的随机整数 现在 我的问题是我不知道如何从该字节流中读取整数 我想生成一个范围只是 丢弃 不在范围内的整数的问题 有任何想法吗 您可以从以下位置获取一个 32 位整数cr
  • MongoDB:如果使用 $addToSet 或 $push,是否应该预先分配文档?

    我一直在研究 MongoDB 我知道强烈建议在插入时完全构建 预分配 文档结构 这样将来对该文档的更改不需要移动该文档磁盘周围 这在使用 addToSet 或 push 时适用吗 例如 假设我有以下文档 id rsMH4GxtduZZfxQ
  • 将消息从 AWS Lambda 发布到 AWS IoT

    我正在尝试使用 Nodejs 将消息从 AWS Lamba 发布到 AWS IoT 我已压缩该项目并上传到 AWS IoT 下面是代码片段 var awsIot require aws iot device sdk var device a
  • Nodejs - 检查隐藏文件

    我正在迭代文件目录 想知道是否可以测试文件是否隐藏 目前 我只是检查文件是否以 开头或不 这适用于 Mac 也许还有 Linux 但是 我想知道如何在 Windows 上做到这一点 另外 句点会在所有版本的 Linux 中隐藏该文件吗 Th
  • Phantom-node模块无法加载外部资源

    我正在开发一个nodejs服务器 它将发布的html呈现为pdf png或jpg https github com svenhornberg pagetox https github com svenhornberg pagetox ser
  • 从节点服务器访问 Google Calendar API

    由于某种原因 我很难访问 Google 日历 我希望能够在 Node js 服务器的日历中添加和删除事件 我从文件中发现了非常矛盾的信息 我跟着 https developers google com identity protocols

随机推荐

  • Maven忽略maven-frontend-plugin,没有错误

  • 构建无服务层的企业应用

    有很多教程教我们直接使用数据库来使用一些 ORM 但在现实生活中 我不记得有一个直接使用数据库而不是服务的大项目 所以这些教程的数量对我来说似乎很奇怪 直接连接的应用程序在数据库和应用程序之间的数据传输速度方面具有真正的优势 并且它们没有由
  • 多生产者多消费者多线程Java

    我正在尝试生产者 消费者问题的多个生产者 多个消费者用例 我使用 BlockingQueue 在多个生产者 消费者之间共享公共队列 下面是我的代码 Producer import java util concurrent BlockingQ
  • 构建GCC:bootstrap有哪些优点和缺点?

    我了解引导编译器构建的作用 但我不了解普通用户的优点和缺点 我认为对于 GCC 维护者来说是有价值的 配置GCC时 有两个选项 enable bootstrap and disable bootstrap 据我了解 对于普通编译器构建 en
  • SQL删除性能

    delete from a A where a ID 132 A表包含大约5000条记录 A ID是A表的主键 但是删除需要很长时间 有时它也会超时 该表包含三个索引 并由三个外键引用 谁能解释一下为什么即使我们是基于主键删除 它仍然需要很
  • 如何将所有请求修改为单个文件而不导致无限循环

    如何将所有请求发送到 www myurl com ANYTHING 并将它们全部发送到 www myurl com index php 我发现我可以通过以下方式发送所有内容 RewriteRule index php R Permanent
  • 无法在 Firefox 3.6 中的表格上获取最小高度

    我有一个问题 最小高度不适用于我绝对定位的桌子 但是 我可以使用高度在 IE 6 中工作 据我所知 IE 6 将高度视为最小高度 关于我如何让它发挥作用的任何线索 table cellspacing 0 style width 100 mi
  • Wii MotionPlus 支持

    我正在开发一个与Wiimote http en wikipedia org wiki Wii Remote 到目前为止我一直在使用维尤斯图书馆 http www wiiuse net 效果很好 然而 wiiuse 不支持运动加 http e
  • 定义 TypeScript 回调类型

    我在 TypeScript 中有以下类 class CallbackTest public myCallback public doWork void doing some work this myCallback calling call
  • 对象化关系:一对多,我可以有效地做到这一点吗?

    我对 Objectify 还很陌生 我有一个简单的问题 做某事的最好方法 假设我有一个允许人们发送和接收的应用程序 消息 为简单起见 请考虑电子邮件 当我的应用程序加载时 我没有 想要加载来自每个联系人的每条消息 向给定用户发送消息 那将是
  • 跨安装的 ios 唯一标识符

    我们需要唯一地标识该设备 并且它在安装 重新安装 时必须相同 到目前为止 我们一直在使用存储在钥匙串中的标识符 因此它在安装过程中仍然存在 现在 在 10 3 beta 版中 卸载应用程序时 钥匙串会自动删除 参考 https forums
  • Eclipse Neon CDT 运行配置未设置环境变量

    我刚刚从 Eclipse Kepler 升级到 Neon 3 发现除非在调试器下运行 否则在运行配置中设置环境变量不起作用 截至 2017 年 2 月 6 日 这被确定为 Neon 3 中的回归问题 但我一直无法找到解决方案 有其他人看到这
  • 在绘图文本过滤器中正确转义文本

    根据文件 应该用斜杠转义 但当我逃脱时 未添加文本 有错误消息说Stray near 但这是什么意思以及我该如何解决它 命令和输出 usr bin ffmpeg y i home www 255871 mov af aresample as
  • 为什么 Guava 中不推荐使用 Files.deleteDirectoryContents() ?

    在 Guava 10 中 Google 已弃用文件 deleteDirectoryContents https google github io guava releases 10 0 api docs com google common
  • GADT 上的模式匹配失败

    我更多地使用 ReasonML 并发现了模式匹配type t从以下示例开始 无法处理该错误 错误 此模式与 t float 类型的值匹配 但需要一个与 t int 类型的值匹配的模式 float 类型与 int 类型不兼容 type t a
  • Pandas str 和 object 类型的区别

    Numpy 似乎区分了str and object类型 例如我可以这样做 gt gt gt import pandas as pd gt gt gt import numpy as np gt gt gt np dtype str dtyp
  • 从文件读取清单时出现异常。 Microsoft Word 插件 VSTO

    我正在尝试创建一个 Microsoft Word 插件 每次保存 Word 文档 自动保存或手动保存 时 该插件都会添加并提交到 git 存储库 当我从 Visual Studio 调试模式 中运行程序时 我已经能够获得我想要的功能 当我发
  • constexpr 函数在多个模块中共享

    当我使用 constexpr 函数时 我注意到一个奇怪的行为 我将代码简化为一个简化的示例 从两个不同的翻译单元 模块 A 和 B 调用两个函数 include
  • IllegalStateException: 当前不在 FragmentManager 中

    我知道这听起来像是重复的FragmentStatePagerAdapter IllegalStateException 当前不在 FragmentManager 中 https stackoverflow com questions 112
  • 在我的 Node 应用程序中使用 SSH 连接到 MongoDB

    我的数据库使用 DigitalOcean 我正在尝试在我的节点应用程序中连接到它 我发现了一个名为的 npmtunnel ssh但是我无法连接到它 我的代码如下 它说数据库连接成功 但是当我执行console log mongoose 它显