相比于VNC,Workbench支持多用户远程连接同一台Linux实例。登录实例时,Workbench有密码、密钥对、临时密钥对和凭据四种认证方式供您选择,非常便捷高效。
前提条件
已创建服务关联角色。首次使用Workbench登录ECS实例时,系统会提示您创建Workbench服务关联角色。更多信息,请参见Workbench服务关联角色。
重要
通过RAM用户使用Workbench登录ECS实例时,请确保已为该RAM用户授予AliyunECSWorkbenchFullAccess系统权限,否则会提示用户没有权限。关于如何授权,请参见为RAM用户授权。
实例已设置登录密码或者绑定密钥对。具体操作,请参见重置实例登录密码或绑定SSH密钥对。
实例处于运行中状态。
实例已安装云助手。具体操作,请参见安装云助手Agent。
实例所在安全组已允许Workbench服务相关的IP访问实例。
专有网络实例连接专有网络实例时,请在安全组规则页面的入方向页签添加安全组规则,如下表所示。
授权策略 |
优先级 |
协议类型 |
端口范围 |
授权对象 |
允许 |
1 |
自定义TCP |
|
警告
您也可以添加0.0.0.0/0,但存在安全风险,请谨慎使用。 |
经典网络实例通过公网连接经典网络实例时,请在安全组规则页面的公网入方向页签添加安全组规则,如下表所示。
授权策略 |
优先级 |
协议类型 |
端口范围 |
授权对象 |
允许 |
1 |
自定义TCP |
|
通过实例的公网IP(包括固定公网IP和EIP)连接:添加47.96.60.0/24和118.31.243.0/24。
警告
您也可以添加0.0.0.0/0,但存在安全风险,请谨慎使用。 |
操作步骤
Workbench的远程连接会话默认维持6个小时,如果您超过6小时没有任何操作,连接会自动断开,您需要重新连接实例。
1.登录ECS管理控制台。
2.在左侧导航栏,选择实例与镜像 > 实例。
3.在页面左侧顶部,选择目标资源所在的地域。
4.地域 在实例列表页面,找到需要连接的实例,单击对应操作列下的远程连接。
5.在弹出的远程连接对话框中,单击通过Workbench远程连接对应的立即登录。
6.在弹出的登录实例对话框中,输入登录信息。
一般情况下按精简选项输入信息即可,如下表所示。
配置项 |
说明 |
实例 |
自动填充当前实例的信息,您也可以手动输入其他实例的IP或名称。 |
网络连接 |
-
专有网络实例支持选择公网IP或私网IP连接。
-
经典网络实例支持选择公网IP或内网IP连接。
关于不同网络类型说明,请参见专有网络概述和经典网络的IP。 |
认证方式 |
选择认证方式,支持的认证方式如下:
-
密码认证:输入用户名(例如root或ecs-user),需要继续输入登录密码。
-
SSH密钥认证:输入用户名(例如root或ecs-user),需要继续输入或上传私钥。如果私钥文件已加密,还需要输入私钥口令。
-
凭据认证:选择已定义好的凭据或者新增凭据。
凭据用于存储实例的用户名、密码和密钥等信息,您无需每次登录都输入用户名、密码,直接选择凭据即可安全登录实例。如果您在Workbench中没有凭据,请新增凭据。具体操作,请参见新增凭据实现免密登录。
-
临时SSH密钥认证:直接填入需要登录的用户名(例如root或ecs-user)即可,默认使用root登录。
说明
临时SSH密钥认证功能基于云助手的公共命令实现。
-
Workbench登录实例时生成一个有效时间为1分钟的临时SSH密钥对。
-
并触发云助手调用InvokeCommand,执行名称为ACS-ECS-EnableSshPublicKey-linux.sh 和ACS-ECS-SendSshPublicKey-linux.sh 的公共命令,将公钥发送给目标实例,交于实例中运行的云助手Agent管理。
-
Workbench通过临时密钥对成功登录实例。
在Workbench侧,密钥对不会存储到数据库,有效时间为1分钟,失效后需要重新登录生成。
|
在对话框底部单击完整选项可以展开更多配置项,如下表所示。
配置项 |
说明 |
资源组 |
默认为全部,即可以手动选择任一资源组的资源。 |
区域 |
默认为全部,即可以手动选择任一地域的资源。 |
连接协议 |
默认为终端连接(SSH)。
|
端口 |
连接协议为终端连接(SSH)时,默认端口为22。
如果您修改过远程连接端口,请输入该端口。
说明
连接协议为远程桌面(RDP),默认端口为3389。 |
语言环境 |
偏好语言影响输出的内容,选择默认时,Workbench自动探测您远程主机的语言设置并进行合适的配置。 |
字符集 |
偏好字符集影响输出内容的显示结果,选择默认时,Workbench自动探测您远程主机的字符集设置并进行合适的配置。 |
7.单击确定。
如果确定已满足本文的前提条件,连接实例时仍失败,请检查实例内部配置是否满足要求:
开启SSHD的远程服务,例如Linux系统中的SSHD服务。
开放终端连接端口,通常为22端口。
如果使用root用户登录Linux实例,需要保证在/etc/ssh/sshd_config文件中配置PermitRootLogin yes和PasswordAuthentication yes。具体操作,请参见为Linux实例开启root用户远程登录。
新增凭据实现免密登录以下操作指导您在Workbench中如何新增凭据,登录ECS实例时通过凭据进行身份认证。
1.登录ECS管理控制台。
2.在左侧导航栏,选择实例与镜像 > 实例。
3.在页面左侧顶部,选择目标资源所在的地域。
4.在实例列表页面,找到需要连接的实例,单击对应操作列下的远程连接。
5.在弹出的远程连接对话框中,单击通过Workbench远程连接对应的立即登录。
6.在弹出的登录实例对话框中,输入登录信息。
7.新增凭据。
a.一般情况下按精简选项输入信息即可,如下表所示。
配置项 |
说明 |
实例 |
自动填充,您也可以手动选择其他实例。 |
网络连接 |
-
专有网络实例支持选择公网IP或私网IP连接。
-
经典网络实例支持选择公网IP或内网IP连接。
|
认证方式 |
-
选择凭据认证。
-
在凭据下拉表选择新增凭据。
|
b.在新增凭据对话框中,输入新增凭据的信息。
配置项 |
说明 |
凭据名称 |
输入新增凭据的名称。 |
用户名 |
输入用户名,例如root或ecs-user。 |
凭据类型 |
支持以下类型:
|
材料名称 |
输入认证材料的名称。 |
密码 |
输入实例的登录密码。 |
密码指纹 |
根据认证材料自动生成密码指纹。 |
c.单击确定。
8.在登录实例对话框中,选择新增的凭据,然后单击确定。
为Linux实例开启root用户远程登录
部分Linux系统中,SSHD服务默认禁用root用户远程登录,导致登录时提示用户名或密码错误。您可以按照以下步骤开启root用户远程登录。
使用VNC方式连接实例。
具体操作,请参见
使用VNC连接实例。
打开SSH配置文件。
vim /etc/ssh/sshd_config
按i键进入编辑模式。
将PermitRootLogin和PasswordAuthentication参数值设置为yes,如下所示。
PermitRootLogin yes
PasswordAuthentication yes
按Esc键,输入:wq保存修改。
重启SSHD服务。
systemctl restart sshd.service
常见问题
无法连接实例时,您可以自行排查。更多信息,请参见
远程连接FAQ和
GuestOS常见问题与修复方案。
文章来自:https://help.aliyun.com/zh/ecs/user-guide/connect-to-a-linux-instance-by-using-a-password-or-key#b73210f472s3i