在连接实例时,首先需要完成身份验证,确保只有授权用户能够访问和管理服务器资源,以增强安全性。创建实例时,您可以选择一个系统预设的用户作为初始登录用户。实例创建完成后,即可用该用户身份登录。本文将详细介绍不同用户的特点与区别,以及如何管理这些用户和添加额外的远程连接用户。
Linux实例初始登录用户
初始登录用户说明
Linux实例的初始用户是指您在创建Linux实例时设置的登录用户,对于Linux实例,初始用户可以设置为root
或ecs-user
。root
和ecs-user
说明如下。
root
Linux系统的超级用户,在系统安装时默认创建,拥有操作系统的所有权限,root用户不支持删除或修改操作。如果您需要使用其他用户登录实例,请参见添加更多用于远程连接的用户。
ecs-user(推荐)
Linux系统的一个普通用户,没有系统级的权限,只能执行被授权的操作,但可以通过使用
sudo
命令临时获得root权限执行操作。部分操作系统支持使用ecs-user作为初始登录用户。
在系统安装时,root用户会自动创建,如果您在创建实例时选择使用ecs-user作为登录名,会自动在您实例内部的操作系统中创建ecs-user用户,也就是说同时存在root和ecs-user用户,但root不用于登录实例。
使用root用户登录可能会导致安全风险。阿里云基于云服务器安全考虑,建议您在支持普通用户ecs-user的操作系统镜像中,使用ecs-user作为初始登录用户。
支持ecs-user的操作系统镜像请以控制台界面为准,或者通过DescribeImages接口查看镜像信息,若在返回的镜像信息中
LoginAsNonRootSupported
字段为true
,则支持ecs-user作为初始用户。
登录凭证说明
在创建实例时,您可以为初始登录用户设置登录凭证,包括密钥对、自定义密码以及创建后设置三个选项,区别如下:
密钥对(推荐)
用于远程连接(SSH方式)使用的认证方式,分为公钥和私钥,公钥保存在实例中,私钥由您自行保存,在认证过程中,密钥不会直接传输,相比于密码认证更安全。
重要如果在创建实例时选择密钥对作为登录凭证,密码登录选项默认会被禁用,即默认无法通过用户名和密码登录实例。此时如果您通过VNC登录实例,需要先设置登录密码。设置登录密码的操作,请参见重置初始用户的密码(Linux/Windows)。
自定义密码(不推荐)
用于远程连接Linux实例时登录系统的密码。
创建后设置
如果您选择创建后设置选项,在创建实例时,会自动使用root用户作为初始登录用户,但不会开放登录,无法通过root用户连接实例。如果您需要连接实例,您可以使用以下两种方式连接:
方式一:先设置实例登录密码或为实例绑定密钥对,通过密码/密钥对登录实例。设置实例登录密码以及绑定密钥对的操作,请参见重置初始用户的密钥对(Linux)、重置初始用户的密码(Linux/Windows)。
方式二:无需设置密码,开启云助手功能的实例,可以使用会话管理免密登录实例。
通过会话管理登录实例时,使用的用户为ecs-assist-user,更多信息,请参见通过会话管理连接实例。
Windows实例初始登录用户
初始登录用户说明
Windows的初始用户是指您在创建Windows实例时设置的登录用户,对于Windows实例,初始用户为administrator。该用户是Windows用户的超级管理员,拥有整个Windows系统的所有操作权限。对于初始用户的管理,包括密码修改可以在控制台操作,请参见重置初始用户的密码(Linux/Windows)。
登录凭证说明
在创建实例时,您可以为初始登录用户设置登录凭证,包括自定义密码、创建后设置两个选项,具体说明如下:
自定义密码
用于远程连接Windows实例时登录系统的密码。
创建后设置
如果您选择创建后设置选项,在创建实例时,不会为administrator设置密码,如果您需要连接实例,您可以使用以下两种方式连接:
先设置实例登录密码,然后通过administrator和该密码远程连接实例。设置实例的登录密码,请参见重置初始用户的密码(Linux/Windows)。
管理实例初始用户的凭证
当您的实例创建完成后,您可以在阿里云控制台中管理初始用户的密码或密钥对等信息。
重置初始用户的密钥对(Linux)
您可以在阿里云控制台修改初始用户的密钥对。具体操作如下:
创建密钥对。
绑定密钥对。
在密钥对页面,找到步骤1创建的密钥对,在对应操作列下,单击绑定密钥对,进入绑定密钥对页面。
在绑定密钥对页面,选择需要绑定的ECS实例,然后单击下一步。
设置合适的重启方式后,单击确认。等待实例重启完毕后,密钥对生效。
重置初始用户的密码(Linux/Windows)
您可以在阿里云控制台修改初始用户的登录密码。具体操作如下:
进入阿里云ECS控制台,找到待修改密码的实例,进入修改密码页面。
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在实例列表页面,找到需要修改密码的实例,单击对应操作列下的
。
在弹出重置实例密码页面,修改实例登录密码。
配置项说明:
登录名:该项默认为您ECS实例的初始用户的用户名,无需修改。
新密码/确认密码:根据界面提示设置新密码。
重置密码的方式:
在线重置密码(推荐):修改密码后,无需重启实例,但需要实例安装云助手Agent,在线重置密码支持重置实例其他用户的密码。
2017年12月01日之后使用阿里云公共镜像创建的ECS实例,默认预装了云助手Agent,如何安装,请参见安装云助手Agent。
离线重置密码:修改密码后,需要重启实例。不需要实例安装云助手。但离线重置密码的方式仅支持重置实例初始用户的密码。如果不想
配置SSH密码登录策略(仅Linux系统的实例需关注该配置项):
开启(推荐):若您需要通过SSH密码认证的方式连接到Linux实例,请选择开启。
选择该选项,会调整您用户的SSH配置,开启SSH的密码登录功能,即自动设置
/etc/ssh/sshd_config
中的PasswordAuthentication
为true
。保持原有设置:如果您不需要通过SSH密码认证的方式连接到实例(比如通过VNC连接),可以使用此选项。该选项表示仅更改实例内部操作系统中用户的登录密码。
选择该选项,会保持原有的SSH配置不变,如果之前您的SSH配置文件中的
PasswordAuthentication
为false,可能无法通过SSH密码认证的方式连接到实例Linux实例。
确认信息后单击确认修改完成重置密码的操作。
添加更多用于远程连接的用户
如果您需要创建更多用于远程连接实例的用户,您可以参考以下步骤,在操作系统内部创建普通用户并开启远程连接。
Linux实例
在Linux实例中,添加远程连接用户后需要检查SSH的配置文件/etc/ssh/sshd_config
。
使用密钥对登录时(SSH方式),必须开启SSH密钥对认证的功能,即保证SSH配置中的
PubkeyAuthentication
配置项为yes,已包含在下面操作步骤中。使用密码登录时(SSH方式),必须开启SSH密码认证的功能,即保证SSH配置中的
PasswordAuthentication
配置项为yes,已包含在下面的操作步骤中。使用VNC方式以及会话管理方式登录时对该配置文件无要求。
本示例以创建新用户exampleuser为例。
连接到ECS实例。
选择合适的方式连接到ECS实例,具体操作,请参见2.1 通过SSH的方式连接实例(Linux)或2.3 通过会话管理连接实例(Linux/Windows)。
创建用户。
输入以下命令创建用户:
sudo useradd -m <username>
<username>
是您准备创建用户的用户名,例如创建exampleuser
可使用以下命令。sudo useradd -m exampleuser
密码/密钥对设置。
设置密钥对
密钥对分为公钥和私钥,公钥需要存储在您的实例中,私钥需要您自行保存,登录时需要用到私钥。
准备密钥对。
您可以使用您已有的密钥对,或者创建新的密钥对,创建密钥对操作如下。
配置公钥到
authorized_keys
配置文件。将公钥里的内容复制到实例对应用户根路径下的
.ssh/authorized_keys
文件中。在用户目录下创建.ssh文件夹。命令如下:
sudo mkdir /home/<username>/.ssh
<username>
是您步骤2中创建的用户的用户名,例如您在第一步中创建了exampleuser
您可以使用以下命令编辑该用户的配置文件。sudo mkdir /home/exampleuser/.ssh
在新建用户的根路径下创建
.ssh/authorized_keys
配置文件,并将您在步骤a中生成的公钥文件(id_rsa.pub
)的内容复制到该配置文件中。配置文件的绝对位置及名称如下:/home/<username>/.ssh/authorized_keys
<username>
是您步骤2中创建的用户的用户名。例如您在第一步中创建了exampleuser
,配置文件的绝对位置及名称为:/home/exampleuser/.ssh/authorized_keys
您可以通过vim编辑器完成文件修改操作,关于vim的用法,请参见Vim编辑器。
修改
.ssh
目录和authorized_keys
文件的权限。sudo chmod 700 /home/<username>/.ssh sudo chmod 600 /home/<username>/.ssh/authorized_keys
<username>
是您步骤2中创建的用户的用户名。例如您在第一步中创建了exampleuser
,则输入以下命令。sudo chmod 700 /home/exampleuser/.ssh sudo chmod 600 /home/exampleuser/.ssh/authorized_keys
检查并修改SSH的
/etc/ssh/sshd_config
配置文件。在配置用户密钥对之后,需要配置SSH服务开启密钥对认证,需要修改SSH的配置文件
/etc/ssh/sshd_config
中的PubkeyAuthentication
参数为yes
。您可以通过vim编辑器完成该操作,关于vim的用法,请参见Vim编辑器。
输入命令,重启
sshd
服务,使配置生效。sudo systemctl restart sshd
设置密码
重要为确保安全,请不要使用弱密码作为用户的登录密码。
在实例中输入以下命令设置密码。
sudo passwd <username>
<username>
是您在步骤2中创建的用户的用户名。例如在步骤1中创建了exampleuser
,您可以使用以下命令完成设置密码。sudo passwd exampleuser
根据界面提示输入新密码和确认密码。
检查并修改SSH的
/etc/ssh/sshd_config
配置文件。在配置用户密码之后,需要配置SSH服务开启密码认证,需要修改SSH的配置文件
/etc/ssh/sshd_config
中的PasswordAuthentication
参数为yes
。您可以通过vim编辑器完成该操作,关于vim的用法,请参见Vim编辑器。
输入命令,重启
sshd
服务,使配置生效。sudo systemctl restart sshd
(验证)使用新创建的用户远程登录到ECS实例。
Windows实例
要在Windows实例中添加新的远程连接用户,需要先创建新用户,并将其添加到Remote Desktop Users
用户组。
如果您需要两个以上的用户同时远程登录Windows实例,需要使用微软的远程桌面服务(Remote Desktop Services)的能力,更多关于远程桌面服务的信息,请参见Windows Server 中的远程桌面服务概述。
本示例以在Windows Server 2022系统的实例创建新用户exampleuser为例。不同版本的Windows系统界面可能存在差异。
连接到ECS实例。
选择合适的方式连接到ECS实例,具体操作,请参见2.2 通过RDP的方式连接实例(Windows)。
创建用户。
打开控制面板,找到用户账户,单击下面的更改账户类型。
在账户管理页面,单击添加用户账户,进入添加用户页面。
在添加用户页面,根据界面提示,设置新用户的用户名及密码。
本示例以创建exampleuser为例,请您根据您的需求设置用户名。
单击下一步,然后单击完成。完成新用户的创建。
将新用户添加到
Remote Desktop Users
用户组。在任务栏的搜索框搜索计算机管理,单击搜索到的计算机管理进入计算机管理页面。
在
下,找到Remote Desktop Users用户组。双击进入Remote Desktop Users属性页面。
操作流程如图所示。
在Remote Desktop Users属性页面,单击添加。
输入步骤2中创建用户的用户名,单击检查名称,之后输入框会自动根据您输入的用户名称补全用户的名称全称。
单击确定。在Remote Desktop Users属性页面依次单击应用、确定。完成将用户添加到用户组的操作。
(验证)使用新创建的用户远程登录到ECS实例。