使用 SSH 公钥Use an SSH public key

若要使用从开发计算机到 Azure Stack Hub 实例中服务器 VM(用于托管 Web 应用)的开放 SSH 连接,可能需要创建安全外壳 (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. 下载并安装适用于你的计算机的 PuTTY。Download 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 实例中使用 SSH 公钥作为身份验证类型的 Linux 计算机的 IP 地址和用户名。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”,“连接类型”是否为“SSH”。 Validate that the Port is 22 and the Connection type is SSH.

  4. 在“类别”树中,展开“SSH”和“身份验证”。 In 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、基于 TLS 的 FTP (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.