若要使用从开发计算机到 Azure Stack Hub 实例中服务器 VM(用于托管 Web 应用)的开放 SSH 连接,可能需要创建安全外壳 (SSH) 公钥和私钥对。
在本文中,你将创建密钥,然后使用它们连接到服务器。 可以使用 SSH 客户端在 Linux 服务器上获取 bash 提示符,或使用安全 FTP (SFTP) 客户端将文件移入和移出服务器。
在本部分中,你将使用 PuTTY 密钥生成器创建 SSH 公钥和私钥对,以便在 Azure Stack Hub 实例中与 Linux 计算机建立安全连接时使用。 PuTTY 是免费的终端仿真器,可用于通过 SSH 和 Telnet 连接到服务器。
打开 PuTTY 密钥生成器。
在“参数”下选择“RSA”。
在“已生成密钥中的位数”中,输入 2048。
然后选择“生成” 。
在“密钥”区域中,将光标移到空白区域上以生成一些随机字符。
输入一个密钥通行短语,并在“确认通行短语”框中确认。 请记下该通行短语供稍后使用。
选择“保存公钥”,并将公钥保存到可访问的位置。
选择“保存私钥”,并将私钥保存到可访问的位置。 请记住它属于公钥。
公钥已存储在保存的文本文件中。 文本如下所示:
---- 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 时,你已获得 PuTTY 密钥生成器和 SSH 客户端。 在本部分,你将打开 SSH 客户端、PuTTY,并配置连接值和 SSH 密钥。 如果你在 Azure Stack Hub 实例所在的同一网络中操作,请连接到 VM。
连接之前,需要:
- PuTTY
- Azure Stack Hub 实例中使用 SSH 公钥作为身份验证类型的 Linux 计算机的 IP 地址和用户名。
- 为计算机打开端口 22。
- 与公钥配对的专用 SSH 密钥。
- 运行 PuTTY 的客户端计算机与 Azure Stack Hub 实例位于同一网络上。
打开 PuTTY。
在“主机名(或 IP 地址)”框中,输入用户名和计算机的公共 IP 地址(例如 username@192.XXX.XXX.XX)。
检查“端口”是否为“22”,“连接类型”是否为“SSH”。
在“类别”树中,展开“SSH”和“身份验证”。
在“用于身份验证的私钥文件”框的旁边选择“浏览”,然后搜索公钥和私钥对的私钥文件 (<filename>.ppk)。
在“类别”树中选择“会话”。
在“保存的会话”下输入会话的名称,然后选择“保存”。
在“保存的会话”列表中选择会话名称,然后选择“加载”。
选择“打开”。 此时会打开 SSH 会话。
若要在 Linux 计算机中移入和移出文件,可以使用 FileZilla,它是支持安全 FTP (SFTP) 的 FTP 客户端。 FileZilla 可在 Windows 10、Linux 和 macOS 上运行。 FileZilla 客户端支持 FTP、基于 TLS 的 FTP (FTPS) 和 SFTP。 它是根据 GNU 常规公共许可条款免费分发的开源软件。
打开 FileZilla。
选择“文件”>“站点管理器”。
在“协议”下拉列表中,选择“SFTP - SSH 文件传输协议”。
在“主机”框中,输入计算机的公共 IP 地址。
在“登录类型”框中,选择“正常”。
输入用户名和密码。
选择“确定”。
选择“编辑”>“设置”。
在“选择页”树中展开“连接”,然后选择“SFTP”。
选择“添加密钥文件”,然后输入私钥文件(例如,<filename>.ppk)。
选择“确定” 。
- 打开 FileZilla。
- 选择“文件”>“站点管理器”。
- 选择站点名称,然后选择“连接”。