PostgreSQL pgAdmin III到AWS RDS实例的SSL连接
我正在尝试使用SSL连接到AWS(Amazon Web服务)上运行的RDS。我在PosgreSQL pgAdmin III文档中看到了关于SSL选项卡上字段的有限信息 默认情况下,RDS实例设置为接受SSL连接 我从Amazon下载了公钥,并使用openSSL将其从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
.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连接