mysql - 如何轻松安全地远程连接到postgres或mysql?

标签 mysql security postgresql ssh database-connection

我想知道在这些情况下如何连接到 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=truehttp://jdbc.postgresql.org/documentation/head/ssl-client.html

抱歉,我不知道 MySQL 是如何管理这些的。

关于mysql - 如何轻松安全地远程连接到postgres或mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161566/

相关文章:

mysql - Rails 迁移 : Adding comment to column without changing type

java - 收到 HANDSHAKE_FAILURE 警报

security - "User-friendly"但匿名日志文件的安全算法

SQL 特定顺序

sql - 错误: No unique constraint matching given keys for referenced table

php - 我无法让我的 PHP "else"条件 block 工作

php - 无法向mysql数据库插入9k字

java - 使用 Java 连接数据库的 MySQL 中 boolean 的最佳实现是什么?

mysql - 通过 https 安全远程 MySQL 连接

python - 从脚本运行蜘蛛时获取 scrapycrawl 命令的功能