目的是利用SSH隧道将R与PostgreSQL连接起来。
刚刚对库RPostgreSQL和DBI的尝试失败了。我没有找到传递SSH隧道参数(代理主机、代理用户和私钥)的方法。
我想知道是否有一种方法可以在db查询字符串中指定那些SSH参数?或者另一条出路?
发布于 2017-11-11 02:26:11
下面是我使用过的代码示例:
首先,设置一个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)。
https://stackoverflow.com/questions/47229605
复制相似问题