我想知道如何在这些条件下连接到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如何管理这些.