通过SSH通道连接MongoDB
要通过SSH通道将MongoDB数据库连接到Commerce Intelligence,您必须执行以下几项操作:
正在检索Commerce Intelligence公钥 retrieve
public key
用于授权Commerce Intelligence Linux
用户。 下一部分将指导您完成创建用户和导入密钥的过程。
- 转到 Data > Connections 并单击 Add New Data Source。
- 单击MONGODB图标。
- 打开MongoDB凭据页面后,将
Encrypted
切换更改为Yes
。 此时将显示SSH设置表单。 public key
位于此表单下。
在整个教程中保持此页面处于打开状态 — 您将在下一部分和结尾处找到它。
如果您丢失了一点,下面是如何浏览Commerce Intelligence以检索密钥的:
允许访问Commerce Intelligence IP地址 allowlist
要使连接成功,必须将防火墙配置为允许从IP地址访问。 它们是54.88.76.97
和34.250.211.151
,但它也位于MongoDB凭据页面上:
正在为Commerce Intelligence创建Linux
用户 linux
sshd_config
文件未设置为默认选项,则只有某些用户具有服务器访问权限 — 这会阻止成功连接到Commerce Intelligence。 在这些情况下,需要运行诸如AllowUsers
之类的命令以允许rjmetric
用户访问服务器。这可以是生产或辅助计算机,只要它包含实时(或经常更新)数据。 您可以按您喜欢的方式限制此用户,只要它保留连接到MongoDB服务器的权利即可。
要添加新用户,请以root用户身份在Linux
服务器上运行以下命令:
adduser rjmetric -p
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
创建Commerce Intelligence MongoDB用户 mongodb
MongoDB服务器具有两种运行模式 — 一种使用“auth”选项 (mongod -- auth)
,另一种不使用,这是默认值。 创建MongoDB用户的步骤因服务器使用的模式而异。 继续之前,请务必验证模式。
如果您的服务器使用Auth
选项: auth
连接到多个数据库时,您可以通过以管理员用户身份登录MongoDB并运行以下命令来添加用户。
listDatabases.
的权限此命令授予Commerce Intelligence用户访问to all databases
的权限:
use admin
db.createUser('rjmetric', '< secure password here >', true)
使用此命令授予Commerce Intelligence用户访问to a single database
的权限:
use < database name >
db.createUser('rjmetric', '< secure password here >', true)
这将打印如下响应:
{
"id": ObjectId("< some object id here >"),
"user": "rjmetric",
"readOnly": true,
"pwd": "< some hash here >"
}
如果您的服务器使用默认选项 default
如果您的服务器不使用auth
模式,那么即使没有用户名和密码,MongoDB服务器也可以访问。 但是,您应确保mongodb.conf
文件(/etc/mongodb.conf)
具有以下行 — 如果不存在,请在添加后重新启动服务器。
bind_ip = 127.0.0.1
noauth = true
若要将MongoDB服务器绑定到其他地址,请在下一步中相应地调整数据库主机名。
在Commerce Intelligence中输入连接和用户信息 finish
要完成工作,您需要在Commerce Intelligence中输入连接和用户信息。 您是否让MongoDB凭据页面保持打开状态? 如果没有,请转到 Data > Connections 并单击 Add New Data Source,然后单击MongoDB图标。 别忘了将Encrypted
切换更改为Yes
。
在此页面中输入以下信息,从Database Connection
部分开始:
Host
:127.0.0.1
Username
: Commerce Intelligence MongoDB用户名(应为rjmetric
)Password
: Commerce Intelligence MongoDB密码Port
:您的服务器上的MongoDB端口(默认为27017
)Database Name
(可选):如果只允许访问一个数据库,请在此处指定该数据库的名称。
在SSH Connection
部分下:
Remote Address
:要通过SSH连接的服务器的IP地址或主机名Username
: Commerce Intelligence Linux (SSH)用户名(应为rjmetric)SSH Port
:服务器上的SSH端口(默认为22)
完成后,单击 Save Test 以完成设置。