在 Azure Stack Hub 中使用 SSH 密钥对

若要使用从开发计算机到 Azure Stack Hub 实例中服务器 VM(用于托管 Web 应用)的开放 SSH 连接,可能需要创建安全外壳 (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 实例中使用 SSH 公钥作为身份验证类型的 Linux 计算机的 IP 地址和用户名。
  • 为计算机打开端口 22。
  • 与公钥配对的专用 SSH 密钥。
  • 运行 PuTTY 的客户端计算机与 Azure Stack Hub 实例位于同一网络上。
  1. 打开 PuTTY。

    The PuTTY Configuration pane

  2. 在“主机名(或 IP 地址)”框中,输入用户名和计算机的公共 IP 地址(例如 username@192.XXX.XXX.XX)。

  3. 检查“端口”是否为“22”,“连接类型”是否为“SSH”。

  4. 在“类别”树中,展开“SSH”和“身份验证”。

    The PuTTY Configuration pane - SSH private key

  5. 在“用于身份验证的私钥文件”框的旁边选择“浏览”,然后搜索公钥和私钥对的私钥文件 (<filename>.ppk)。

  6. 在“类别”树中选择“会话”。

    The PuTTY Configuration pane

  7. 在“保存的会话”下输入会话的名称,然后选择“保存”。

  8. 在“保存的会话”列表中选择会话名称,然后选择“加载”。

  9. 选择“打开”。 此时会打开 SSH 会话。

使用 FileZilla 通过 SFTP 进行连接

若要在 Linux 计算机中移入和移出文件,可以使用 FileZilla,它是支持安全 FTP (SFTP) 的 FTP 客户端。 FileZilla 可在 Windows 10、Linux 和 macOS 上运行。 FileZilla 客户端支持 FTP、基于 TLS 的 FTP (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. 选择“添加密钥文件”,然后输入私钥文件(例如,<filename>.ppk)。

  12. 选择“确定” 。

打开连接

  1. 打开 FileZilla。
  2. 选择“文件”>“站点管理器”。
  3. 选择站点名称,然后选择“连接”。

后续步骤

了解如何在 Azure Stack Hub 中设置开发环境