ActiveRecord可以远程连接PostgreSQL并保护DB密码吗?

2024-01-26

我在远程 VPS 服务器 (CentOS 5) 上有一个 PostgreSQL 数据库,我想连接一个 Rails 应用程序,从我的本地 Mac 笔记本电脑连接到它。在我的笔记本电脑上,我安装了 ActiveRecord PostgreSQL 适配器 -postgres (0.7.9.2008.01.28).

我读到PostgreSQL 文档 http://www.postgresql.org/docs/8.1/interactive/auth-methods.html:

基于密码的认证方法有md5、crypt、password。这些方法的操作类似,只是通过连接发送密码的方式不同:分别是 MD5 散列、密码加密和明文。

[...]

如果您完全担心密码“嗅探”攻击,那么首选 md5...应避免使用纯密码,尤其是对于开放 Internet 上的连接(除非您在连接周围使用 SSL、SSH 或其他通信安全包装器)。

在标准 Rails 中database.yml对于本地主机连接会有类似的东西......

development:
  adapter: postgresql
  database: journalapp_development
  username: xxx
  password: yyy
  host: localhost

但 PostgreSQL 文档中没有讨论任何有关身份验证方法的内容。是否可以选择有类似“auth_method: md5"?


无论 Postgres 是否允许此功能,您都可以使用 SSH 隧道启用与远程数据库的安全连接。以下是来自 Web 文档的免费 Stack Overflow 粘贴内容:

首先确保 SSH 服务器是 在同一台机器上正常运行 作为 PostgreSQL 服务器并且您 可以使用 ssh 作为某个用户登录。 然后就可以建立安全隧道了 用这样的命令 客户端机器:

ssh -L 3333:foo.com:5432[电子邮件受保护] /cdn-cgi/l/email-protection-L 参数中的第一个数字, 3333,是你端的端口号 隧道的;可以选择 自由地。第二个数字 5432 是 隧道的远端:端口 您的服务器正在使用的编号。名字 或端口号之间的 IP 地址 是带有数据库服务器的主机 您将要连接到。为了 连接到数据库服务器 使用此隧道,您可以连接到端口 本地机器上的 3333:

psql -h localhost -p 3333 postgres 到 然后它会查看数据库服务器 就好像你真的是用户一样[电子邮件受保护] /cdn-cgi/l/email-protection它会使用任何东西 认证程序是 配置为从此连接 用户和主机。请注意,服务器 不会认为连接是 SSL 加密,因为事实上它不是 SSH 服务器和之间加密 PostgreSQL 服务器。这不应该 只要存在任何额外的安全风险 因为它们在同一台机器上。

如果您需要更多信息,可以通过搜索“SSL 隧道”或“postgres SSL 隧道”在线找到它。这是我获得上述内容的 Postgres 网站:

http://www.postgresql.org/docs/current/static/ssh-tunnels.html http://www.postgresql.org/docs/current/static/ssh-tunnels.html

总结一下 Rails,您将执行以下操作:

1) 在终端窗口中,运行上面的第一个 ssh 命令来建立隧道。

2)像这样设置你的数据库属性:

development:
  adapter: postgresql
  database: journalapp_development
  username: xxx
  password: yyy
  host: localhost
  port: 3333
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ActiveRecord可以远程连接PostgreSQL并保护DB密码吗? 的相关文章

  • 如何使用表内的 JSONB 数据类型和 PostgreSQL JDBC 驱动程序将 JSON 对象存储到 PostgreSQL 中

    我想将以下 json 对象保存到 PostgreSQL 数据库表中as jsonb fname john lname doe 我当前使用 PGObject 创建对象并将类型设置为 jsonb 并将值作为 json 字符串传递 寻找更好的 m
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • Postgres < 9.0 的 DO 块相当于什么

    Postgres 8 4 8 相当于什么 DO BEGIN IF NOT EXISTS THEN EXECUTE END IF END create function f returns void as BEGIN IF NOT EXIST
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • 使用 attr_accessor 动态创建类属性

    在Ruby中 有没有办法动态地将实例变量添加到类中 例如 class MyClass def initialize create attribute name end def create attribute name attr acces
  • REXML - 如何提取单个元素

    我正在用 ruby 编写一些验收测试 其中涉及断言响应 XML 中值的存在 我的 XML 是这样的
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常
  • 获取嵌套参数

    我有一个带有嵌套参数的表单 在下面的示例中 如何获取控制器中的 amount whole 值 Parameters utf8 gt authenticity token gt KCmBI6RLh0LdUsM2r5H1vhNykS1IXecF
  • Bundle 说 gem 丢失了 - 但事实并非如此?

    背景 我正在维护contentRuby On Rails 站点 但我确实没有 Rails 的经验 当尝试运行 Rails 服务器时 rails s我明白了 在任何来源中均找不到 activesupport 3 2 0 Run bundle
  • java -postgresql 最后插入的 id 插入时未获取

    我有一个插入功能postgresql如下 CREATE OR REPLACE FUNCTION insert orderhead order id integer order dt text customer id integer rout
  • 在 ruby​​ 中下载多个 FTP 文件,如 d*.txt

    我需要连接到 ftp 站点并下载一堆名为 D txt 的文件 最多 6 个 你能帮我用 Ruby 编写这个代码吗 下面的代码只是 ftp Net FTP new ftp server site ftp login user pwd ftp
  • Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

    我有一个充满 ruby 文件的文件夹 当我尝试使用位于同一目录中的另一个文件中的一个文件时require file 我得到一个LoadError但是当我使用require file 一切正常 有人可以向我解释为什么会发生这种情况吗 如果有什
  • Npgsql 参数化查询输出与 PostGIS 不兼容

    我在 Npgsql 命令中有这个参数化查询 UPDATE raw geocoding SET the geom ST Transform ST GeomFromText POINT longitude latitude 4326 3081
  • Postgres JSON 数据类型 Rails 查询

    我正在使用 Postgres 的 json 数据类型 但想要使用嵌套在 json 中的数据进行查询 排序 我想在 json 数据类型上使用 where 进行订购或查询 例如 我想查询关注者数量 gt 500 的用户 或者我想按关注者或关注数
  • 本地 Postgres 实例和 Azure Cloud Postgres 实例之间的实时同步

    我需要在本地 postgresql 实例与云 postgresql 实例之间设置实时同步过程 请让我知道我可以通过哪些选项来实现它 我是否必须使用任何特定工具或者可以通过复制进行管理 请指教 使用 PgPool http www pgpoo
  • Ruby/Rails 集合到集合

    我有两个表与一个连接表连接 这只是伪代码 Library Book LibraryBooks 我需要做的是 如果我有一个图书馆的 id 我想获取该图书馆拥有的所有书籍所在的所有图书馆 因此 如果我有图书馆 1 图书馆 1 中有书籍 A 和
  • 存根和 rspec 旧语法的问题

    我正在编写一些代码并使用 rspec 但收到警告 提示语法已过时 我不太清楚应该如何编写它 it should calculate the value correctly do mock cards Card new clubs 5 Car

随机推荐

  • 浏览器不请求 favicon.ico 的原因有哪些?

    我正在编写一个位于服务器根目录的简单网页 其快捷方式图标位于 favicon ico 但我的浏览器从不请求此 favicon ico 我在 html 中包含了以下内容 当我打开开发人员工具的网络选项卡时 我看到对 192 168 0 1 网
  • 使用 group_by 的简单 Rails 3.1 视图

    我正在工作的网站上有一个菜单 食物菜单 表中的每条记录还包含一个类别字段 此类别可以是汉堡 零食 饮料或他们想要对食品进行分类的任何其他内容 我正在尝试显示菜单 其中的项目按此类别字段分组 到目前为止我的尝试 food item menus
  • RESTEasy 无法识别自定义消息正文编写器

    我的MessageBodyWriter Provider Produces text csv public class CSVMessageBodyWriter implements MessageBodyWriter
  • .NET Core Web API 5.0 构建错误

    严重性代码 说明 项目文件行抑制状态 错误 NETSDK1005 资产文件 D Working On Gra Gra obj project assets json 没有 NETCoreApp Version v5 0 的目标 确保恢复已运
  • 列依赖于其他列值

    我有一列将具有三个可能的值 稍后可能会更多 我将其存储为枚举 yes immediately yes later no 如果选择yes later制作完成后 我们还需要存储date该事件应该发生 在我看来 这必须是另一篇专栏 我的问题是设计
  • 作为收件人,是否可以检测电子邮件是通过 Gmail“安排发送”还是“发送”发送的?

    只是好奇 Gmail 是否对电子邮件标头进行了标记 以指示电子邮件是已安排发送还是立即发送 当我自己测试时 我找不到任何附加标头或标头中的任何附加参数 不过 当您安排电子邮件时 Gmail 会设置Date标题到预定时间 由于您只能以分钟的精
  • 美化C++代码,为条件语句添加括号

    如何美化C 代码 为条件语句添加括号 我需要做的是改变 if myCondition setDateTime date time to if myCondition setDateTime date time 但我必须这样做数百次 我用过A
  • Angularjs 使用 django 的 url 进行路由

    我使用 AngularJS 作为前端 使用 Django 作为后端 我在后端做非常简单的事情 所以我没有考虑使用tastypie 我遇到的问题是客户端 服务器路由 我彻底困惑了 我所做的是 从django渲染entry html页面 其中有
  • 在cmd中重新排列数组元素

    我的批处理文件中有一个数组 如下所示 port 0 port 1 0 port 2 3 port 3 2 是否有任何漂亮而优雅的方法可以将值向后移动一个元素 所以它看起来像这样 port 0 0 port 1 3 port 2 2 port
  • Caffe 运行测试失败

    成功构建 caffe 后 我进行了 runtest 但在 ImageDataLayer DBTest DataTransformTest HDF5OutputLayerTest 和一些求解器中失败 构建 链接到特定路径时是否缺少步骤 这是测
  • Django REST Framework 验证错误:“输入有效的 URL。”

    在我的 Django REST Framework 项目中 我有一个模型类 用于保存 Django 应用程序将在后台任务中抓取的服务 class Service models Model name models CharField max
  • URL 特定编码

    我尝试重新创建 URL 但找不到编码函数 Edit 背景 该字符串用于 API 当然没有文档 我尝试使用原始网址编码但似乎只有原始的编码 解码功能有效 所以我必须找到它是什么 input 2 3 word 888 gt word2 AND
  • CGridView 中的格式化日期过滤器

    我在 CGridView 中将日期显示为 22 6 2012 22 53 array name gt date value gt date j n Y G i strtotime model gt date 但在我的过滤器中 我需要以这种格
  • 如何在 SQL 中从另一个表获取计数?

    我有以下关于 SQL 的表 Mensajes IdMensaje int PK NOT NULL IdCliente int CorreoCliente varchar 100 CorreosAdicionales varchar MAX
  • 将滑动触摸从 UIView 传递到底层 UIScrollView 以实现正确滚动

    我的情况与这两篇文章类似 1907297 http www stackoverflow com questions 1907297 AND 689684 http www stackoverflow com questions 689684
  • NineOldAndroids,旋转或移动后不可点击视图

    I use 九老机器人 http nineoldandroids com2 4 0 为对象设置动画 主要用于运动和变换的控制 在 Android 4 0 及更高版本上一切正常 但在以前的版本 2 1 2 3 上 动画元素没有获得焦点并且不可
  • 在 Rails 中调试? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何在 RubyonRails 中 相对 成功地调试 我知道并广泛使用以下内容 Terminal 导轨控制台 开发者工具 日志文件 生产 开发
  • 删除 pandas DataFrame 列中字符串条目的末尾

    我有一个 pandas Dataframe 其中一列是文件列表 import pandas as pd df pd read csv fname csv df head filename A B C fn1 txt 2 4 5 fn2 tx
  • NA 正在箱线图 ggplot2 中绘制

    我正在尝试在 ggplot2 中绘制一个简单的箱线图 我有物种丰富度与土地利用类别 但是 我的数据中有 2 个 NA 出于某种奇怪的原因 它们被策划了 即使它们被 R 理解为 NA 有什么建议删除它们吗 我正在使用的代码是 ggplot d
  • ActiveRecord可以远程连接PostgreSQL并保护DB密码吗?

    我在远程 VPS 服务器 CentOS 5 上有一个 PostgreSQL 数据库 我想连接一个 Rails 应用程序 从我的本地 Mac 笔记本电脑连接到它 在我的笔记本电脑上 我安装了 ActiveRecord PostgreSQL 适