將 SSH 金鑰組用於 Azure Stack Hub

若要從您的開發機器使用開放式 SSH 連線到 Azure Stack Hub 執行個體 (用於裝載 Web 應用程式) 中的伺服器 VM,您可能需要建立安全殼層 (SSH) 公開和私密金鑰組。

在本文中,您可以建立金鑰,然後用於連線到您的伺服器。 您可以使用 SSH 用戶端取得 Linux 伺服器上的 bash 提示字元,或使用安全 FTP (SFTP) 用戶端對伺服器移入及移出檔案。

在 Windows 上建立 SSH 金鑰組

在本節中,您會使用 PuTTY 金鑰產生器建立公開 SSH 金鑰和私密金鑰組,以在對 Azure Stack Hub 執行個體中的 Linux 機器建立安全連線時使用。 PuTTY 是免費的終端機模擬器,可讓您透過 SSH 和 Telnet 連線到伺服器。

  1. 為您的機器下載並安裝 PuTTY

  2. 開啟 PuTTY 金鑰產生器。

    PuTTY Key Generator with a blank Key box

  3. 在 [參數] 之下,選取 [RSA]。

  4. 在 [已產生金鑰中的位元數] 中,輸入 2048

  5. 選取 [產生]。

  6. 在 [金鑰] 區域中,將游標移至空白區域以產生一些隨機字元。

    PuTTY Key Generator with a populated Key box

  7. 輸入 [金鑰複雜密碼],並在 [確認複雜密碼] 方塊中加以確認。 請記下您的複雜密碼,以供稍後使用。

  8. 選取 [儲存公開金鑰],然後儲存到您可以存取的位置。

  9. 選取 [儲存私密金鑰],然後儲存到您可以存取的位置。 請記住它屬於公開金鑰。

公開金鑰會儲存在您已儲存的文字檔中。 文字看起來如下:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20190330"
THISISANEXAMPLEDONOTUSE AAAAB3NzaC1yc2EAAAABJQAAAQEAthW2CinpqhXq
9uSa8/lSH7tLelMXnFljSrJIcpxp3MlHlYVbjHHoKfpvQek8DwKdOUcFIEzuStfT
Z8eUI1s5ZXkACudML68qQT8R0cmcFBGNY20K9ZMz/kZkCEbN80DJ+UnWgjdXKLvD
Dwl9aQwNc7W/WCuZtWPazee95PzAShPefGZ87Jp0OCxKaGYZ7UXMrCethwfVumvU
aj+aPsSThXncgVQUhSf/1IoRtnGOiZoktVvt0TIlhxDrHKHU/aZueaFXYqpxDLIs
BvpmONCSR3YnyUtgWV27N6zC7U1OBdmv7TN6M7g01uOYQKI/GQ==
---- END SSH2 PUBLIC KEY ----

當應用程式要求金鑰時,使用公用金鑰時,您會複製並貼上文字檔案的所有內容。

使用 PuTTY 進行 SSH 連線

當安裝 PuTTY 時,您會具有 PuTTY 金鑰產生器和 SSH 用戶端。 在本節中,您會開啟 SSH 用戶端、PuTTY,以及設定您的連線值和 SSH 金鑰。 如果您位於 Azure Stack Hub 執行個體所在的相同網路,請連線到您的 VM。

在連線之前,您將需要:

  • PuTTY
  • 您的 Azure Stack Hub 執行個體中 Linux 機器的 IP 位址和使用者名稱,而該 Linux 機器會使用 SSH 公開金鑰作為驗證類型。
  • 要針對機器開啟的連接埠 22。
  • 與公開金鑰配對的私密 SSH 金鑰。
  • 執行 PuTTY 的用戶端機器必須與您的 Azure Stack Hub 執行個體位於相同的網路上。
  1. 開啟 PuTTY。

    The PuTTY Configuration pane

  2. 在 [主機名稱 (或 IP 位址)] 方塊中,輸入使用者名稱和電腦的公用 IP 位址 (例如 username@192.XXX.XXX.XX)。

  3. 確認 [連接埠] 為 22,且 [連線類型] 為 SSH

  4. 在 [類別] 樹狀目錄中,展開 SSHAuth

    The PuTTY Configuration pane - SSH private key

  5. 選取 [可供驗證的私密金鑰檔案] 方塊旁邊的 [瀏覽],然後搜尋公開和私密金鑰組的私密金鑰檔案 (<檔案名稱>.ppk)。

  6. 在 [類別] 樹狀目錄中選取 [工作階段]。

    The PuTTY Configuration pane

  7. 在 [儲存的工作階段] 下方,輸入工作階段的名稱,然後選取 [儲存]。

  8. 在 [儲存的工作階段] 清單中,選取您的工作階段名稱,然後選取 [載入]。

  9. 選取 [開啟] 。 SSH 工作階段隨即開啟。

使用 FileZilla 與 SFTP 連線

若要在 Linux 機器中移入和移出檔案,您可以使用 Filezilla,其為支援安全 FTP (SFTP) 的 FTP 用戶端。 FileZilla 可在 Windows 10、Linux 和 macOS 上執行。 FileZilla 用戶端支援 FTP、FTP over TLS (FTPS) 和 SFTP。 它是依據「GNU 一般公用授權」條款免費散發的開放原始碼軟體。

設定您的連線

  1. 下載並安裝 FileZilla

  2. 開啟 FileZilla。

  3. 選取 [檔案]>[網站管理員]。

    The FileZilla Site Manager pane

  4. 在 [通訊協定] 下拉式清單中,選取 [SFTP - SSH 檔案傳輸通訊協定]。

  5. 在 [主機] 方塊中,輸入您機器的公用 IP 位址。

  6. 在 [登入類型] 方塊中,選取 [一般]。

  7. 輸入您的使用者名稱和密碼。

  8. 選取 [確定]。

  9. 選取 [編輯]>[設定]。

    The FileZilla Settings pane

  10. 在 [選取頁面] 樹狀目錄中,展開 [連線],然後選取 [SFTP]。

  11. 選取 [新增金鑰檔案],然後輸入您的私密金鑰檔案 (例如 <檔案名稱>.ppk)。

  12. 選取 [確定]。

開啟您的連線

  1. 開啟 FileZilla。
  2. 選取 [檔案]>[網站管理員]。
  3. 選取您的網站名稱,然後選取 [連線]。

後續步驟

了解如何在 Azure Stack Hub 中設定開發環境