你还记得上次直接访问服务器的情形吗?对于云托管的服务器,比如 Azure 虚拟机(Azure VMs),肯定不会。。管理员使用安全外壳(SSH)来访问 Linux 服务器。但是你知道你也可以通过 SSH 连接运行在 Windows 上的 Azure 虚拟机吗?
在本文中,你将学习如何设置你的 Azure 虚拟机以进行 SSH 访问。有关在 Windows Azure 虚拟机上配置 SSH 以进行访问的详细信息,请查看如何在 Windows 服务器上设置 OpenSSH。
先决条件
为了有效地按照本文中的示例和演示操作,你需要满足以下要求。
- A virtual machine in Azure either Windows or Linux. This article uses Windows Server 2019 Datacenter with the name ataWindows and IP address of 40.117.77.227.
通过网络安全组允许 SSH 进入 Azure 虚拟机
在配置 Azure 虚拟机操作系统之前,第一步是确保在虚拟机级别允许 SSH 通信。允许 SSH 意味着创建一个入站端口规则,允许 SSH 通过端口 22进入虚拟机的网络安全组(NSG)。
对于Linux虚拟机,在部署过程中默认允许端口22。如果端口22不被允许,后续的说明适用于Windows和Linux Azure虚拟机。让我们开始吧!
此过程将打开从互联网到您的Azure虚拟机的端口22。在公开打开任何端口之前,请查阅您的组织政策,特别是在生产环境中。
- 首先,如果还没有,请登录到Azure门户。
2. 一旦进入Azure门户,请导航到虚拟机刀片,然后单击您的虚拟机。在此示例中,虚拟机名称为ataWindows。

3. 接下来,在设置部分下,单击网络。您将看到现有入站端口规则的列表。要添加新规则,请单击添加入站端口规则。

4. 在添加入站安全规则飞出菜单上,填写以下字段。
- 来源 – 保留默认值(任何)以允许从任何地方进入的流量。如果您更愿意将其锁定到特定的IP地址或子网,也可以在这里进行设置。
- 源端口范围 – 保留默认值(*)以允许来自任何端口号的流量。
- 目的地 – 将默认值 (任何) 留空以允许来自 Azure VM 的任何 IP 地址的流量。
- 服务 – 从下拉菜单中选择 SSH。
- 选择 SSH 后,目标端口范围 和 协议 值会自动更改为分别为 22 和 TCP。

- 操作 – 选择 允许 以指定您正在创建的规则是允许流量的规则。
- 优先级 – 使用较低的数字会使规则在规则列表中具有较高的优先级。 在此示例中,默认优先级为 310。 参考现有入站规则列表 (如步骤 3 所示),决定要分配的优先级编号。 在大多数情况下,默认优先级是可以的,这也是本示例的情况。
- 名称 – 输入要分配给规则的名称。选择一个描述您正在创建的规则的名称。 在本示例中,名称为 AllowSSH。
- 最后,单击 添加。 单击 添加 将关闭弹出菜单并继续添加新规则。

5. 创建新的入站端口规则后,您应该在入站端口规则下看到新规则列出,如下所示。

在此时,您的Azure虚拟机允许SSH通信。您现在必须配置SSH客户端和服务器。要执行此操作,请查看文章如何在Windows服务器上设置OpenSSH以获取详细说明。
后续步骤
在本文中,您学会了如何将SSH配置到Azure虚拟机。但您还没有完成!您仍然需要在客户端和服务器上配置SSH。确保查看如何在Windows服务器上设置OpenSSH以获取详细说明。