通过SSH Tunnel连接PostgreSQL
要通过SSH tunnel
将您的PostgreSQL数据库连接到Commerce Intelligence,您必须执行以下操作:
正在检索Commerce Intelligence public key retrieve
public key
用于授权Commerce Intelligence Linux用户。 现在,您将创建用户并导入密钥。
- 转到 Manage Data > Connections 并单击 Add a Data Source。
- 单击PostgreSQL图标。
- 打开
PostgreSQL credentials
页面后,将Encrypted
切换设置为Yes
。 这会显示SSH
设置表单。 public key
位于此表单下。
在整个教程中保持此页面处于打开状态 — 您将在下一部分和结尾处找到它。
下面演示了如何浏览Commerce Intelligence以检索密钥:
允许访问Commerce Intelligence IP地址 allowlist
要使连接成功,必须将防火墙配置为允许从IP地址访问。 它是54.88.76.97/32
,但它也位于PostgreSQL
凭据页面上。 请参阅上面GIF中的蓝色方框。
正在为Commerce Intelligence创建Linux用户 linux
这可以是生产或辅助计算机,只要它包含实时(或经常更新)数据。 您可以按照您喜欢的方式限制此用户,只要它保留连接到PostgreSQL服务器的权利即可。
- 要添加新用户,请以root用户身份在Linux服务器上运行以下命令:
adduser rjmetric -p<password>
mkdir /home/rjmetric
mkdir /home/rjmetric/.ssh
-
是否记得在第一节中检索到的
public key
? 为确保用户有权访问数据库,您需要将密钥导入authorized\_keys
。按如下方式将整个密钥复制到
authorized\_keys
文件中:
touch /home/rjmetric/.ssh/authorized_keys
"<PASTE KEY HERE>" >> /home/rjmetric/.ssh/authorized_keys
- 要完成创建用户,请更改
/home/rjmetric
目录上的权限以允许通过SSH
进行访问:
chown -R rjmetric:rjmetric /home/rjmetric
chmod -R 700 /home/rjmetric/.ssh
sshd\_config
文件未设置为默认选项,则只有某些用户具有服务器访问权限 — 这会阻止成功连接到Commerce Intelligence。 在这些情况下,需要运行诸如AllowUsers
之类的命令以允许rjmetric用户访问服务器。创建Commerce Intelligence Postgres用户 postgres
您的组织可能需要不同的流程,但创建此用户的最简单方法是在以有权授予权限的用户身份登录Postgres时执行以下查询。 该用户还应该拥有Commerce Intelligence被授予访问权限的架构。
GRANT CONNECT ON DATABASE <database name> TO rjmetric WITH PASSWORD <secure password>;GRANT USAGE ON SCHEMA <schema name> TO rjmetric;GRANT SELECT ON ALL TABLES IN SCHEMA <schema name> TO rjmetric;ALTER DEFAULT PRIVILEGES IN SCHEMA <schema name> GRANT SELECT ON TABLES TO rjmetric;
将secure password
替换为您自己的安全密码,该密码可以不同于SSH密码。 此外,请确保将database name
和schema name
替换为数据库中的相应名称。
如果要连接多个数据库或架构,请根据需要重复此过程。
在Commerce Intelligence中输入连接和用户信息 finish
要完成工作,您需要在Commerce Intelligence中输入连接和用户信息。 您是否让PostgreSQL凭据页面保持打开状态? 如果没有,请转到 Manage Data > Connections 并单击 Add a Data Source,然后单击PostgreSQL图标。 别忘了将Encrypted
切换设置为Yes
。
在此页面中输入以下信息,从Database Connection
部分开始:
Username
: RJMetrics Postgres用户名(应为rjmetric)Password
: RJMetrics Postgres密码Port
:您服务器上的PostgreSQL端口(默认为5432)Host
: 127.0.0.1
在SSH Connection
下:
Remote Address
:要通过SSH连接的服务器的IP地址或主机名Username
:您的SSH登录名(应为rjmetric)SSH Port
:服务器上的SSH端口(默认为22)
完成后,单击 保存并测试 以完成设置。