gpt4 book ai didi

postgresql - 无法使用 MD5 方法从主机连接到在 VM 上运行的 Postgres

转载 作者:行者123 更新时间:2023-11-29 11:14:26 24 4
gpt4 key购买 nike

我有一个使用 Vagrant 设置的虚拟机,上面运行着 Postgres(在端口 5432 上),转发到主机上的端口 8280。

我已经为默认用户设置了密码,我可以在本地正常连接。

我一直在尝试通过端口 8280 从主机设置访问权限,但我一直无法使用“MD5”作为信任方法。

我已经设置了 postgresql.conf 来监听所有地址:

# postgresql.conf
listen_addresses = '*'

我已经配置了 pg_hab.conf 如下:

# pg_hab.conf
#TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5

有了所有这些设置,如果我从我的主机运行以下命令:

psql --host=127.0.0.1 --port=8280 --username=postgres -d mydb -c '\l'

系统提示我输入密码,然后我得到:

psql: FATAL:  password authentication failed for user "postgres"

如果我随后将 METHOD 从“md5”更改为“trust”,系统不会要求我输入密码,我可以按预期进行连接。我的问题是 - 为什么我不能使用“md5”进行连接,而这是我希望能够做到的?我知道我输入的密码是正确的(我已经更改了),但由于某种原因它不起作用。

最佳答案

我遇到了同样的问题。问题出在主机端,基本上是防火墙阻止了我使用的端口。这就是我所做的(我正在使用 OSX Mavericks)

  1. 打开端口(主机)

    sudo ipfw add 7000 allow tcp from any to any dst-port 7001

  2. 修改 Vagrantfile 以允许端口转发

    config.vm.network "forwarded_port", guest :5432,主机:7001

  3. 编辑 postgresql.conf(访客)

    listen_addresses = '*'

  4. 编辑 pg_hba.conf(您可能想要更好地调整它)

    host all all 0.0.0.0/0 md5

  5. 现在,从主机正常连接使用端口(在我的例子中是 7001)和“本地主机”作为主机地址

关于postgresql - 无法使用 MD5 方法从主机连接到在 VM 上运行的 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14139017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com