繁体   English   中英

Postgres通过SSH连接

[英]Postgres connect over ssh

我在某些主机pgserver上运行PostgreSQL服务器。 该服务器未向外界开放(仅允许来自localhost连接)。 我可以通过ssh(使用公共密钥)以user身份登录到该主机:

me@local:~ $ ssh user@pgserver

然后,我可以向特定用户pguser运行su

user@pgserver:~ $ sudo su pguser
pguser@pgserver:~ $ psql

我需要在此处输入user的sudo密码。 我无法以pguser连接,也不知道他的密码。 我也没有以user身份访问数据库。

现在,为了简化开发,我想从本地计算机到pgserver设置ssh-tunnel:

me@local:~ $ ssh -L localhost:5432:localhost:5432 user@pgserver

问题在于,尽管user有权访问服务器,但他无权访问数据库。 pguser拥有它,但无权访问服务器。 什么是令人沮丧的是,我实际上可以sudopguser账户并运行查询我作为连接后user

我能以某种方式解决这个问题吗?

尝试

ssh -t -l user pgserver sudo -u pguser psql

-t强制ssh在另一端分配pty,因此存在用于输入密码等的终端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM