使用 SSH 公開金鑰Use an SSH public key

若要從您的開發機器使用開放式 SSH 連線到 Azure Stack Hub 執行個體 (用於裝載 Web 應用程式) 中的伺服器 VM,您可能需要建立安全殼層 (SSH) 公開和私密金鑰組。To use an open SSH connection from your development machine to the server VM in your Azure Stack Hub instance that hosts your web app, you might need to create a Secure Shell (SSH) public and private key pair.

在本文中,您可以建立金鑰,然後用於連線到您的伺服器。In this article, you create your keys and then use them to connect to your server. 您可以使用 SSH 用戶端取得 Linux 伺服器上的 bash 提示字元,或使用安全 FTP (SFTP) 用戶端對伺服器移入及移出檔案。You can use an SSH client to get a bash prompt on the Linux server or use a Secure FTP (SFTP) client to move files to and from the server.

在 Windows 上建立 SSH 公開金鑰Create an SSH public key on Windows

在本節中,您會使用 PuTTY 金鑰產生器建立公開 SSH 金鑰和私密金鑰組,以在對 Azure Stack Hub 執行個體中的 Linux 機器建立安全連線時使用。In this section, you use PuTTY Key Generator to create a public SSH key and private key pair to use when you create a secure connection to Linux machines in your Azure Stack Hub instance. PuTTY 是免費的終端機模擬器,可讓您透過 SSH 和 Telnet 連線到伺服器。PuTTY is a free terminal emulator that can allow you to connect to a server via SSH and Telnet.

  1. 為您的機器下載並安裝 PuTTYDownload and install PuTTY for your machine.

  2. 開啟 PuTTY 金鑰產生器。Open PuTTY Key Generator.

    具有空白金鑰方塊的 PuTTY 金鑰產生器

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

  4. 在 [已產生金鑰中的位元數] 中,輸入 2048In the Number of bits in a generated key box, enter 2048.

  5. 選取 [產生]。Select Generate.

  6. 在 [金鑰] 區域中,將游標移至空白區域以產生一些隨機字元。In the Key area, generate some random characters by moving the cursor over the blank area.

    具有已填入金鑰方塊的 PuTTY 金鑰產生器

  7. 輸入 [金鑰複雜密碼],並在 [確認複雜密碼] 方塊中加以確認。Enter a Key passphrase and confirm it in the Confirm passphrase box. 請記下您的複雜密碼,以供稍後使用。Note your passphrase for later use.

  8. 選取 [儲存公開金鑰],然後儲存到您可以存取的位置。Select Save public key, and save it to a location where you can access it.

  9. 選取 [儲存私密金鑰],然後儲存到您可以存取的位置。Select Save private key, and save it to a location where you can access it. 請記住它屬於公開金鑰。Remember that it belongs with the public key.

公開金鑰會儲存在您已儲存的文字檔中。Your public key is stored in the text file you saved. 文字看起來如下:The text looks like the following:

---- 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 ----

當應用程式要求金鑰時,使用公用金鑰時,您會複製並貼上文字檔案的所有內容。When an application requests the key, you copy and paste the entire contents of the text file.

使用 PuTTY 進行 SSH 連線Connect with SSH by using PuTTY

當您安裝 PuTTY 時,您會具有 PuTTY 金鑰產生器和 SSH 用戶端。When you install PuTTY, you have both PuTTY Key Generator and an SSH client. 在本節中,您會開啟 SSH 用戶端、PuTTY,以及設定您的連線值和 SSH 金鑰。In this section, you open the SSH client, PuTTY, and configure your connection values and SSH key. 如果您位於 Azure Stack Hub 執行個體所在的相同網路,請連線到您的 VM。If you're on the same network as your Azure Stack Hub instance, you connect to your VM.

在連線之前,您將需要:Before you connect, you will need:

  • PuTTYPuTTY
  • 您的 Azure Stack Hub 執行個體中 Linux 機器的 IP 位址和使用者名稱,而該 Linux 機器會使用 SSH 公開金鑰作為驗證類型。The IP address and username for the Linux machine in your Azure Stack Hub instance that uses an SSH public key as the Authentication type.
  • 要針對機器開啟的連接埠 22。Port 22 to be open for the machine.
  • 您建立機器時所使用的公開 SSH 金鑰。The public SSH key that you used when you created the machine.
  • 執行 PuTTY 的用戶端機器必須與您的 Azure Stack Hub 執行個體位於相同的網路上。The client machine that runs PuTTY to be on the same network as your Azure Stack Hub instance.
  1. 開啟 PuTTY。Open PuTTY.

    PuTTY 組態窗格

  2. 在 [主機名稱 (或 IP 位址)] 方塊中,輸入使用者名稱和機器的公用 IP 位址 (例如 username@192.XXX.XXX.XX )。In the Host Name (or IP address) box, enter the username and public IP address of the machine (for example, username@192.XXX.XXX.XX).

  3. 確認 [連接埠] 為 22,且 [連線類型] 為 SSHValidate that the Port is 22 and the Connection type is SSH.

  4. 在 [類別] 樹狀目錄中,展開 SSHAuthIn the Category tree, expand SSH and Auth.

    PuTTY 組態窗格 - SSH 私密金鑰

  5. 選取 [可供驗證的私密金鑰檔案] 方塊旁邊的 [瀏覽],然後搜尋公開和私密金鑰組的私密金鑰檔案 ( <filename>.ppk)。Next to the Private key file for authentication box, select Browse, and then search for the private key file (<filename>.ppk) of your public and private key pair.

  6. 在 [類別] 樹狀目錄中選取 [工作階段]。In the Category tree, select Session.

    PuTTY 組態窗格的「儲存的工作階段」方塊

  7. 在 [儲存的工作階段] 下方,輸入工作階段的名稱,然後選取 [儲存]。Under Saved Sessions, enter a name for the session, and then select Save.

  8. 在 [儲存的工作階段] 清單中,選取您的工作階段名稱,然後選取 [載入]。In the Saved Sessions list, select the name of your session, and then select Load.

  9. 選取 [開啟] 。Select Open. SSH 工作階段隨即開啟。The SSH session opens.

使用 FileZilla 與 SFTP 連線Connect with SFTP with FileZilla

若要在 Linux 機器中移入和移出檔案,您可以使用 Filezilla,其為支援安全 FTP (SFTP) 的 FTP 用戶端。To move files to and from your Linux machine, you can use FileZilla, an FTP client that supports Secure FTP (SFTP). FileZilla 可在 Windows 10、Linux 和 macOS 上執行。FileZilla runs on Windows 10, Linux, and macOS. FileZilla 用戶端支援 FTP、FTP over TLS (FTPS) 和 SFTP。The FileZilla client supports FTP, FTP over TLS (FTPS), and SFTP. 它是依據「GNU 一般公用授權」條款免費散發的開放原始碼軟體。It is open-source software that's distributed free of charge under the terms of the GNU General Public License.

設定您的連線Set your connection

  1. 下載並安裝 FileZillaDownload and install FileZilla.

  2. 開啟 FileZilla。Open FileZilla.

  3. 選取 [檔案] > [網站管理員]。Select File > Site Manager.

    FileZilla 網站管理員窗格

  4. 在 [通訊協定] 下拉式清單中,選取 [SFTP - SSH 檔案傳輸通訊協定]。In the Protocol drop-down list, select SFTP - SSH File Transfer Protocol.

  5. 在 [主機] 方塊中,輸入您機器的公用 IP 位址。In the Host box, enter the public IP address for your machine.

  6. 在 [登入類型] 方塊中,選取 [一般]。In the Logon Type box, select Normal.

  7. 輸入您的使用者名稱和密碼。Enter your username and password.

  8. 選取 [確定]。Select OK.

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

    FileZilla 設定窗格

  10. 在 [選取頁面] 樹狀目錄中,展開 [連線],然後選取 [SFTP]。In the Select page tree, expand Connection, and then select SFTP.

  11. 選取 [新增金鑰檔案],然後輸入您的私密金鑰檔案 (例如 <filename>.ppk)。Select Add key file, and then enter your private key file (for example, <filename>.ppk).

  12. 選取 [確定]。Select OK.

開啟您的連線Open your connection

  1. 開啟 FileZilla。Open FileZilla.
  2. 選取 [檔案] > [網站管理員]。Select File > Site Manager.
  3. 選取您的網站名稱,然後選取 [連線]。Select the name of your site, and then select Connect.

後續步驟Next steps

了解如何在 Azure Stack Hub 中設定開發環境Learn how to Set up a development environment in Azure Stack Hub.