透過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伺服器有兩個執行模式 — 一個具有「驗證」選項 (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 以完成設定。