为 WorkSpaces 个人版的 Linux WorkSpaces 启用 SSH 连接
如果您或您的用户希望使用命令行连接到 Linux WorkSpaces,您可以启用 SSH 连接。您可以启用与目录中的所有 WorkSpace 或目录中的单个 WorkSpace 的 SSH 连接。
要启用 SSH 连接,您可以创建新的安全组或更新现有安全组,然后添加规则以允许入站流量用于此目的。安全组用作相关实例的防火墙,可在实例级别控制入站和出站的数据流。在创建或更新安全组后,您的用户和其他人可以使用 PuTTY 或其他终端从其设备连接到您的 Linux WorkSpaces。有关更多信息,请参阅 WorkSpaces 个人版的安全组。
有关视频教程,请参阅 AWS 知识中心中的如何使用 SSH 连接到我的 Linux Amazon WorkSpaces?
内容
将 SSH 连接到 Linux WorkSpaces 的先决条件
-
启用到 WorkSpace 的入站 SSH 流量 - 要添加允许入站 SSH 流量进入一个或多个 Linux WorkSpaces 的规则,请确保您具有需要将 SSH 连接到 WorkSpaces 的设备的公有或私有 IP 地址。例如,您可以指定虚拟私有云(VPC) 之外的设备的公有 IP 地址或您的 WorkSpace 所在的 VPC 中的另一个 EC2 实例的私有 IP 地址。
如果您计划从本地设备连接到 WorkSpace,则可以在互联网浏览器中使用搜索短语“我的 IP 地址”,或使用以下服务:检查 IP
。 -
连接到 WorkSpace - 需要以下信息才能发起从设备到 Linux WorkSpace 的 SSH 连接。
-
您连接到的 Active Directory 域的 NetBIOS 名称。
-
您的 WorkSpace 用户名。
-
要连接到的 WorkSpace 的公有或私有 IP 地址。
私有:如果您的 VPC 已连接到公司网络并且您有权访问该网络,则可以指定 WorkSpace 的私有 IP 地址。
公有:如果您的 WorkSpace 具有公有 IP 地址,则可以使用 WorkSpace 控制台来查找该公有 IP 地址,如以下过程中所述。
-
查找要连接到的 Linux WorkSpace 的 IP 地址和您的用户名
打开 WorkSpaces 控制台,网址为:https://console.aws.amazon.com/workspaces/
。 -
在导航窗格中,选择 WorkSpaces。
-
在 WorkSpaces 的列表中,选择要为其启用 SSH 连接的 WorkSpace。
-
在 Running mode (运行模式) 列中,确认 WorkSpace 状态为 Available (可用)。
-
单击 WorkSpace 名称左侧的箭头以显示内联摘要,并记下以下信息:
-
WorkSpace IP。这是 WorkSpace 的私有 IP 地址。
需要此私有 IP 地址才能获取与 WorkSpace 关联的弹性网络接口。需要网络接口才能检索与 WorkSpace 关联的安全组或公有 IP 地址等信息。
-
WorkSpace Username (用户名)。这是您指定的要连接到 WorkSpace 的用户名。
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择网络接口。
-
在搜索框中,键入在步骤 5 中记下的 WorkSpace IP。
-
选择与 WorkSpace IP 关联的网络接口。
-
如果您的 WorkSpace 具有公有 IP 地址,则它会显示在 IPv4 Public IP (IPv4 公有 IP) 列中。记下该地址(如果适用)。
查找您连接到的 Active Directory 域的 NetBIOS 名称
打开 AWS Directory Service 控制台,网址为:https://console.aws.amazon.com/directoryservicev2/
。 -
在目录列表中,单击 WorkSpace 的目录的 Directory ID (目录 ID) 链接。
-
在 Directory details (目录详细信息) 部分,记下 Directory NetBIOS name (目录 NetBIOS 名称)。
将 SSH 连接到目录中的所有 Linux WorkSpaces
要将 SSH 连接到目录中的所有 Linux WorkSpaces,请执行以下操作。
使用相关规则创建安全组,以允许入站 SSH 流量进入目录中的所有 Linux WorkSpaces
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择安全组。
-
选择创建安全组。
-
键入安全组的名称(可选)和描述。
-
对于 VPC,选择包含要为其启用 SSH 连接的 WorkSpaces 的 VPC。
-
在 Inbound (入站) 选项卡上,选择 Add Rule (添加规则),然后执行以下操作:
-
对于 Type,选择 SSH。
-
对于 Protocol (协议),在您选择 SSH 时会自动指定 TCP。
-
对于 Port Range (端口范围),在您选择 SSH 时会自动指定 22。
-
对于源,为用户用于连接其 WorkSpaces 的计算机指定公有 IP 地址的 CIDR 范围。例如,公司网络或家庭网络。
-
对于 Description (描述)(可选),键入规则的描述。
-
-
选择创建。
-
将此安全组附加到您的 WorkSpaces。有关将此安全组添加到 WorkSpaces 的更多信息,请参阅 WorkSpaces 个人版的安全组。如果您想自动将其他安全组附加到 WorkSpaces,请参阅此博客文章
。
WorkSpaces 中基于密码的身份验证
在新创建的 Linux WorkSpaces 中启用密码身份验证
启动 WorkSpaces 客户端并登录到您的 WorkSpace。
打开终端窗口。
-
在终端窗口中,运行以下命令,以在 cloud-init 中启用 SSH 密码身份验证。
sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: true" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single --name set-passwords'
该脚本将执行以下操作:
在 cloud-init 目录
/etc/cloud/cloud.cfg.d/
中创建配置文件。修改配置文件,以告知 cloud-init 启用 SSH 密码身份验证。
重置
set-passwords
cloud-init 模块,使其可以再次运行。单独运行
set-passwords
cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录/etc/ssh/sshd_config.d/
,然后重新启动 SSHD,以便立即进行设置。
这将在您的 WorkSpace 上启用 SSH 密码身份验证,并将通过自定义映像保留该设置。如果您仅在 SSHD 配置文件中启用 SSH 密码身份验证,而不配置 cloud-init,则在某些 Linux WorkSpaces 上,该设置将无法通过映像保留。有关更多信息,请参阅 cloud-init 模块文档中的设置密码。
在现有 Linux WorkSpaces 中禁用密码身份验证
启动 WorkSpaces 客户端并登录到您的 WorkSpace。
打开终端窗口。
-
在终端窗口中,运行以下命令,以在 cloud-init 中禁用 SSH 密码身份验证。
sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: false" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single —name set-passwords'
该脚本将执行以下操作:
在 cloud-init 目录
/etc/cloud/cloud.cfg.d/
中创建配置文件。修改配置文件,以告知 cloud-init 禁用 SSH 密码身份验证。
重置
set-passwords
cloud-init 模块,使其可以再次运行。单独运行
set-passwords
cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录/etc/ssh/sshd_config.d/
,然后重新启动 SSHD,以便立即进行设置。
这会立即在 WorkSpace 中禁用 SSH,并将通过自定义映像保留该设置。
将 SSH 连接到特定 Linux WorkSpace
要将 SSH 连接到特定 Linux WorkSpace,请执行以下操作。
将规则添加到现有安全组以允许入站 SSH 流量进入特定 Linux WorkSpace
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,在 Network & Security (网络与安全性) 下,选择 Network Interfaces (网络接口)。
-
在搜索栏中,键入要为其启用 SSH 连接的 WorkSpace 的私有 IP 地址。
-
在 Security groups (安全组) 列中,单击安全组的链接。
-
在 Inbound (入站) 选项卡上,选择 Edit (编辑)。
-
选择 Add Rule (添加规则),然后执行以下操作:
-
对于 Type,选择 SSH。
-
对于 Protocol (协议),在您选择 SSH 时会自动指定 TCP。
-
对于 Port Range (端口范围),在您选择 SSH 时会自动指定 22。
-
对于 Source (源),选择 My IP (我的 IP) 或 Custom (自定义),然后用 CIDR 表示法指定单个 IP 地址或 IP 地址范围。例如,如果您的 IPv4 地址为
203.0.113.25
,请指定203.0.113.25/32
,以使用 CIDR 表示法列出此单个 IPv4 地址。如果您的公司要分配同一范围内的地址,请指定整个范围,例如203.0.113.0/24
。 -
对于 Description (描述)(可选),键入规则的描述。
-
-
选择保存。
使用 Linux 或 PuTTY 连接到 Linux WorkSpace
在创建或更新安全组并添加所需规则后,您的用户及其他人可以使用 Linux 或 PuTTY 从其设备连接到 WorkSpaces。
注意
在完成以下任一过程之前,请确保您具有:
-
您连接到的 Active Directory 域的 NetBIOS 名称。
-
用于连接到 WorkSpace 的用户名。
-
要连接到的 WorkSpace 的公有或私有 IP 地址。
有关如何获取此信息的说明,请参阅本主题前面的“将 SSH 连接到 Linux WorkSpaces 的先决条件”。
使用 Linux 连接到 Linux WorkSpace
-
以管理员身份打开命令提示符并输入以下命令。对于
NetBIOS name (NetBIOS 名称)
、Username (用户名)
和WorkSpace IP
,输入适当的值。ssh "
NetBIOS_NAME
\
Username
"@
WorkSpaceIP
以下是 SSH 命令的示例,其中:
-
NetBIOS_NAME
为 anycompany -
Username
为 janedoe -
WorkSpace IP
为 203.0.113.25
ssh "anycompany\janedoe"@203.0.113.25
-
-
系统提示时,输入在使用 WorkSpaces 客户端进行身份验证时使用的同一个密码(您的 Active Directory 密码)。
使用 PuTTY 连接到 Linux WorkSpace
-
打开 PuTTY。
-
在 PuTTY Configuration (PuTTY 配置) 对话框中,执行以下操作:
-
对于 Host Name (or IP address) (主机名(或 IP 地址)),输入以下命令。将这些值分别替换为要连接到的 Active Directory 域的 NetBIOS 名称、用于连接到 WorkSpace 的用户名和要连接到的 WorkSpace 的 IP 地址。
NetBIOS_NAME
\
Username
@
WorkSpaceIP
-
对于端口,输入
22
。 -
对于 Connection type (连接类型),选择 SSH。
有关 SSH 命令的示例,请参阅上一过程中的步骤 1。
-
-
选择打开。
-
系统提示时,输入在使用 WorkSpaces 客户端进行身份验证时使用的同一个密码(您的 Active Directory 密码)。