PostgreSQL pgAdmin III到AWS RDS实例的SSL连接

PostgreSQL pgAdmin III到AWS RDS实例的SSL连接,postgresql,ssl,amazon-web-services,Postgresql,Ssl,Amazon Web Services,我正在尝试使用SSL连接到AWS(Amazon Web服务)上运行的RDS。我在PosgreSQL pgAdmin III文档中看到了关于SSL选项卡上字段的有限信息 默认情况下,RDS实例设置为接受SSL连接 我从Amazon下载了公钥,并使用openSSL将其从.pem文件转换为.crt文件。在pgAdmin III的SSL选项卡上,我输入了转换密钥文件的路径“服务器根证书文件”字段 我可以毫无问题地连接到实例,但没有迹象表明数据正在通过SSL传输AWS没有将其RDS实例设置为独占使用SSL

我正在尝试使用SSL连接到AWS(Amazon Web服务)上运行的RDS。我在PosgreSQL pgAdmin III文档中看到了关于SSL选项卡上字段的有限信息

默认情况下,RDS实例设置为接受SSL连接

我从Amazon下载了公钥,并使用openSSL将其从
.pem
文件转换为
.crt
文件。在pgAdmin III的SSL选项卡上,我输入了转换密钥文件的路径“服务器根证书文件”字段

我可以毫无问题地连接到实例,但没有迹象表明数据正在通过SSL传输AWS没有将其RDS实例设置为独占使用SSL,因此我可能在不使用SSL的情况下连接,并且不知道SSL

pgAdmin III在使用SSL连接时是否显示任何指示(如锁定图标)? 是否有人可以提供其他信息来描述pgAdmin III中SSL选项卡上的字段(SSL下拉列表、客户端证书文件、客户端密钥)


谢谢。

我没有在AWS上使用带PGAdmin的SSL,但我在服务器上使用过,我可以告诉您,您知道当您通过PGAdmin连接到服务器时,我不确定那里有什么不明确的地方,您能看到数据库、表吗

下面引用的帖子可能会帮助您通过SSL连接到服务器

在客户端,我们需要三个文件。对于Windows,这些文件必须是 在%appdata%\postgresql\目录中。对于Linux~/.postgresql/ 目录root.crt(受信任的根证书)postgresql.crt(客户端 证书)postgresql.key(私钥)

在服务器计算机上生成所需的文件,然后复制 把它们交给客户。我们将在/tmp中生成所需的文件/ 目录

首先为客户端计算机创建私钥postgresql.key, 并删除密码短语

openssl genrsa -des3 -out /tmp/postgresql.key 1024

openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key
然后创建证书postgresql.crt。它必须由我们的客户签字 受信任的根目录(使用服务器上的私钥文件) 机器)。此外,证书公用名(CN)必须设置为 我们将连接为的数据库用户名

openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=www-data'

openssl x509 -req -in /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial
将我们从server/tmp/目录创建的三个文件复制到 客户机

将受信任的根证书root.crt从服务器计算机复制到 客户端计算机(适用于Windows pgadmin%appdata%\postgresql\或 Linux-pgadmin~/.postgresql/)。更改的文件权限 postgresql.key以限制仅对您的访问(在上可能不需要) Windows作为受限制的访问已被继承)。移除 服务器/tmp/目录中的文件


发件人:

首先,以postgresql管理员用户的身份登录,然后运行以下操作在RDS上安装sslinfo:

create extension sslinfo;
要验证是否通过ssl连接,只需在会话中运行以下查询:

select ssl_is_used(); 
如果它返回true(t),则通过SSL连接