温馨提示×

ubuntu pgadmin如何加密连接

小樊
48
2026-10-27 05:58:18
栏目: 网络安全

在 Ubuntu 上使用的 pgAdmin(无论是 pgAdmin 4 桌面版还是通过浏览器访问的 Web 版),“加密连接”通常指 pgAdmin 到 PostgreSQL 服务器之间的连接使用 SSL/TLS 加密。下面按常见场景说明。


一、PgAdmin 到 PostgreSQL 使用 SSL 加密(最常见)

1. 服务器端开启 PostgreSQL SSL

在 PostgreSQL 服务器上:

sudo -u postgres psql

查看是否支持 SSL:

SHOW ssl;

若未开启,编辑 postgresql.conf:

ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'

编辑 pg_hba.conf,要求加密连接:

hostssl all all 0.0.0.0/0 scram-sha-256

重启 PostgreSQL:

sudo systemctl restart postgresql

2. 在 pgAdmin 中配置 SSL 连接

在 pgAdmin 中:

  1. 右键 Servers → Create → Server
  2. General 页填名称
  3. Connection 页:
    • Host:PostgreSQL IP
    • Port:5432
    • 用户名 / 数据库
  4. Parameters 或 SSL 选项卡:
    • SSL mode:
      • prefer(尝试加密)
      • require(必须加密)
      • verify-ca / verify-full(验证证书,最安全)
    • 如需客户端证书:
      • SSL certificate
      • SSL key
      • SSL root certificate

✅ 推荐使用 verify-full(生产环境)


二、PgAdmin Web 版(pgAdmin 4 + Nginx)HTTPS 加密

如果你是通过浏览器访问 pgAdmin:

1. 使用 Nginx + HTTPS

安装 Nginx:

sudo apt install nginx

配置反向代理 + SSL:

server {
    listen 443 ssl;
    server_name pgadmin.example.com;

    ssl_certificate /etc/ssl/certs/pgadmin.crt;
    ssl_certificate_key /etc/ssl/private/pgadmin.key;

    location / {
        proxy_pass http://127.0.0.1:5050;
        proxy_set_header Host $host;
    }
}

重启 Nginx:

sudo systemctl restart nginx

三、PgAdmin 本地存储密码加密(可选)

pgAdmin 本身:

  • 保存的密码是 加密存储 的
  • 使用 Master Password(桌面版)

如忘记 Master Password,只能重置:

rm ~/.pgadmin/storage/*

四、总结建议

场景 推荐方式
pgAdmin → PostgreSQL SSL mode = verify-full
浏览器访问 pgAdmin Nginx + HTTPS
云服务器 同时启用两者

如果你愿意,可以告诉我:

  • 用的是 pgAdmin 桌面版还是 Web 版
  • PostgreSQL 是否在 本地 / 远程 / 云

我可以给你一份可直接用的配置示例。

0 踩