我想知道在这些情况下如何连接到 postgresql:
- 允许您从任何位置访问它们(进行 IP 过滤)
- 安全连接(没有密码被窃取的风险)
- 易于设置,最好只为此配置服务器。
我知道推荐的方法是使用 SSH 端口转发,但这需要您在尝试连接到这些数据库之前启动端口转发。
无需在客户端进行复杂设置即可获得足够好的安全性的最简单方法是什么?
有没有办法按需自动启用端口转发?
最佳答案
对于 PostgreSQL,您首先要确保您使用的是支持 SSL 的构建。 (我认为这是大多数安装程序的默认设置。)
然后您需要通过设置listen_addresses
(指定服务器将监听的IP地址)允许服务器接受远程连接:http://www.postgresql.org/docs/9.1/interactive/runtime-config-connection.html
pg_hba.conf 文件允许您指定哪些用户可以使用哪些身份验证方法从哪些 IP 地址连接到哪些数据库。有多种身份验证方法可供选择:http://www.postgresql.org/docs/9.1/interactive/client-authentication.html
关于客户端需要做什么,细节将取决于您在哪个环境中使用哪个连接器;例如,PostgreSQL JDBC 驱动程序默认使用 SSL 连接(如果可用)。要告诉 JDBC 驱动程序不接受连接,除非它可以使用 SSL,您可以设置 JDBC 连接属性:ssl=true
。 http://jdbc.postgresql.org/documentation/head/ssl-client.html
抱歉,我不知道 MySQL 是如何管理这些的。
关于mysql - 如何轻松安全地远程连接到postgres或mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161566/