【问题标题】:Connect to database PostSQL using ssh tunnel in R在 R 中使用 ssh 隧道连接到数据库 PostSQL
【发布时间】:2018-04-24 02:03:13
【问题描述】:

目标是使用 SSH 隧道将 R 连接到 PostgreSQL

刚刚尝试使用库 RPostgreSQLDBI 失败。我没有找到传递 SSH 隧道参数(代理主机、代理用户和私钥)的方法。

我想知道是否有办法以某种方式在 db 查询字符串中指定这些 SSH 参数?也许还有其他出路?

【问题讨论】:

标签: r postgresql ssl ssh ssh-tunnel


【解决方案1】:

这是我使用过的代码示例:

首先,设置一个 ssh 隧道 - 这将用于 AWS EC2 实例:

ssh -i 'YOURKEY.pem' -N -L 1234:YOURDATABASEHOST:5432 YOURUSER@YOURAWSINSTANCE

然后在 R 中:

library(RPostgreSQL)

conn <- dbConnect(RPostgreSQL::PostgreSQL(), dbname = 'MYREMOTEDBNAME', host = '127.0.0.1', port = 1234, password = 'MYREMOTEPASSWORD', user = 'MYREMOTEUSER')

如您所见,关键是在某种远程实例和远程数据库之间建立一条隧道。然后您使用这个本地托管的隧道(因此,127.0.0.1 作为您的主机)和指定的端口(在本例中为 1234)。

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 2021-04-05
    • 2013-04-05
    • 2020-02-01
    • 1970-01-01
    • 2016-04-30
    • 2015-09-18
    • 2014-09-17
    • 2016-10-23
    相关资源
    最近更新 更多