SSH 通道

Metabase 可以先建立與 Metabase 和資料倉儲之間伺服器的連線,然後使用該連線作為橋樑,連線到某些資料庫。這使得在某些情況下可以連線到某些資料倉儲,否則這些情況會阻止使用 Metabase。

何時使用 SSH 通道

一般來說,SSH 通道有兩種基本使用案例

  • 當直接連線不可能時。
  • 當安全策略禁止直接連線時。

有時,當資料倉儲位於企業環境中時,直接連線會被防火牆和入侵防禦系統等安全裝置封鎖。堡壘主機提供一個選項,可以先連線到受保護網路邊緣的電腦,然後從該堡壘主機電腦建立第二個連線到內部網路中的資料倉儲,基本上是將這兩個連線拼接在一起。使用 SSH 通道功能,Metabase 可以自動化此流程。

Metabase Cloud 目前不支援與資料庫的 VPN 連線。若要連線到私有網路中的資料庫,您可以改用 SSH 通道。

如何使用 SSH 通道

透過堡壘主機連線時

  • 對「使用 SSH 通道進行資料庫連線」參數回答「是」。
  • Host 參數中,輸入從網路內部看到的資料倉儲的主機名稱。
  • 將從網路內部看到的資料倉儲埠輸入到 Port 參數中。
  • 將從網路外部(或您所在位置)看到的堡壘主機的外部名稱輸入到 SSH tunnel host 參數中。
  • 將從網路外部看到的 SSH 埠輸入到 SSH tunnel port 參數中。這通常是 22,無論您連線到哪個資料倉儲。

對於身份驗證,您有兩個選項

  • 使用使用者名稱和密碼

    • SSH tunnel usernameSSH tunnel password 欄位中,輸入您用來登入堡壘主機的使用者名稱和密碼。
  • 使用 SSH 金鑰 (PKI 驗證)

    • SSH authentication 選項選擇「SSH 金鑰」。
    • 將您的 SSH 私密金鑰內容貼到 SSH private key 欄位中。
    • 如果您的金鑰有密碼,請將其輸入到 Passphrase for the SSH private key 欄位中。

如果您無法連線,請嘗試直接使用 ssh 連線到 SSH 伺服器/堡壘主機,以測試您的 SSH 憑證

ssh <SSH tunnel username>@<SSH tunnel host> -p <SSH tunnel port>

直接連線不可能的另一個常見情況是連線到只能在本機存取且不允許遠端連線的資料倉儲。在這種情況下,您將開啟與資料倉儲的 SSH 連線,然後從那裡連線回同一部電腦。

  • 對「使用 SSH 通道進行資料庫連線」參數回答「是」。
  • Host 參數中輸入 localhost。這是伺服器的名稱。
  • Port 參數中輸入相同的值,如果您直接坐在資料倉儲主機系統上,您會使用該值。
  • 將從網路外部(或您所在位置)看到的資料倉儲的外部名稱輸入到 SSH tunnel host 參數中。
  • 將從網路外部看到的 SSH 埠輸入到 SSH tunnel port 參數中。這通常是 22,無論您連線到哪個資料倉儲。
  • 選擇您的驗證方法,如上所述(使用者名稱和密碼或 SSH 金鑰)。

如果您在連線時遇到問題,請透過使用 ssh 或舊版 Windows 系統上的 PuTTY 手動連線來驗證 SSH 主機埠和密碼。

間接連線的缺點

雖然使用 SSH 通道可以存取原本無法存取的資料倉儲,但在可能的情況下,幾乎總是最好使用直接連線。

透過通道連線存在一些固有的限制

  • 如果封閉的 SSH 連線因為您讓電腦進入睡眠或變更網路而關閉,則所有已建立的連線也會關閉。這可能會導致在暫停筆記型電腦後恢復連線時發生延遲。
  • 幾乎總是比較慢。連線必須通過另一部電腦。
  • 開啟新的 SSH 連線需要更長的時間。
  • 透過同一個 SSH 通道的多個操作可能會互相封鎖。這可能會增加延遲。
  • 透過堡壘主機的連線數量通常受到組織政策的限制。
  • 有些組織的 IT 安全政策禁止使用 SSH 通道繞過安全周邊。

直接執行 SSH

Metabase 中的 SSH 通道功能是 SSH 的便利包裝,並自動化透過通道連線的常見案例。它也使得與不提供 Shell 存取的系統建立連線成為可能。Metabase 使用內建的 SSH 用戶端,該用戶端不依賴已安裝系統的 SSH 用戶端。這允許從您無法手動執行 SSH 的系統進行連線。這也表示 Metabase 無法利用系統提供的驗證服務,例如 Windows 網域驗證或 Kerberos 驗證。

如果您需要使用 Metabase 未啟用的方法進行連線,通常可以透過直接執行 SSH 來完成此操作

ssh -Nf -L input-port:internal-server-name:port-on-server username@bastion-host.domain.com

這可讓您使用 SSH 中包含的完整功能陣列。如果您發現自己經常這樣做,請告訴我們,以便我們考慮如何讓您的流程透過 Metabase 更加方便。

延伸閱讀

閱讀其他Metabase 版本的文件。