文档

管理ECS实例的登录名

更新时间:

部分Linux操作系统的ECS实例在设置登录名时,支持选择系统用户root或者普通用户ecs-user。本文介绍如何设置登录名以及登录名相关操作,包括修改root密码、删除用户等。这些操作可以帮助您灵活选择适合自己需求的登录名,并确保系统安全和权限管理的有效性。

重要

如果您选择系统用户root作为ECS实例的登录名,该方式虽然便于您进行系统运维操作,但root具有操作系统的最高权限,使用root作为登录名可能会导致安全风险。阿里云基于云服务器安全考虑,建议您在支持普通用户ecs-user的操作系统中使用ecs-user用户登录实例。

注意事项

如果您选择普通用户ecs-user作为ECS实例的登录名,则需要注意:

  • 远程登录ECS实例时,必须使用ecs-user登录名进行登录,root登录名不再提供登录实例的能力。

  • 使用ecs-user登录ECS实例后,如果需要进行系统敏感操作(例如安装软件、重启服务、挂载磁盘等),在相关命令前需要添加sudo提权。

  • 通过ECS控制台离线重置ECS实例密码时,只能重置ECS实例创建时设置的用户密码。如果您的Linux实例登录名为ecs-user,则您只能重置ecs-user用户的密码,无法重置其他用户名的密码。关于重置实例密码的具体操作,请参见重置实例登录密码

重要

基于以上注意事项,您在选择ecs-user作为ECS实例登录名之前,请务必确认清楚您的业务相关的系统、应用不依赖root用户。

哪些操作系统支持ecs-user

阿里云基于安全考虑,在部分Linux操作系统默认的系统用户root之外,提供了普通用户ecs-user作为Linux实例的登录名,支持情况以控制台实际展示为准。您也可以通过DescribeImages接口查询,如果返回值中LoginAsNonRootSupported的值为true,表示该镜像版本支持ecs-user用户,否则不支持。

说明

对于还不支持ecs-user作为登录名的操作系统,您可以创建ECS实例后,在实例内手动添加普通用户用于登录ECS实例。具体操作,请参见在ECS实例内添加其他普通用户

设置登录名为ecs-user用户

当您新建ECS实例、更换操作系统或者重新初始化系统盘时,均可以设置普通用户ecs-user作为登录名。相关操作说明如下表所示:

可以设置用户名的场景

操作说明

自定义购买实例

请您结合实际需求设置各项配置,其中需要注意:

  1. 镜像区域,选择支持设置普通用户ecs-user的镜像版本。

  2. 管理设置区域,结合实际需求选择登录凭证,并选择ecs-user登录名。

更换操作系统(系统盘)

请您结合实际需求设置各项配置,其中需要注意:

  1. 镜像区域,选择支持设置普通用户ecs-user的镜像版本。

  2. 安全设置区域,结合实际需求选择登录凭证,并选择ecs-user登录名。

重新初始化系统盘

请您结合实际需求设置各项配置,其中需要注意:

  1. 安全设置:结合实际需求自行设置密码或密钥。

  2. 用户名:选择ecs-user登录名。

设置ecs-user后如何使用root用户登录

设置普通用户ecs-user作为ECS实例的登录名后,如果某些软件或应用程序可能要求使用root用户权限来运行,此时需要切换到root用户登录以满足软件运行的要求。您可以通过控制台或者登录ECS实例内部为root用户设置密码,设置后就可以使用root用户登录ECS实例。

通过控制台在线重置

如果您的ECS实例支持在线重置密码,可以在线重置root的密码。

image.png

  • ①:选择在线重置密码

  • ②:设置登录名为root,并设置root用户的密码。

  • ③:配置SSH密码登录策略设置为开启,允许通过SSH方式连接实例并使用密码登录。

    更多信息,请参见重置实例登录密码

登录ECS实例内部修改

  1. 使用ecs-user用户登录待修改的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

    重要

    使用ecs-user用户作为ECS实例的登录名后,您不能直接使用root用户登录实例,而需要使用ecs-user登录名登录实例。

  2. 根据root用户不同的登录方式,为root用户设置密码或密钥对。

    • root用户使用密码登录ECS实例

      1. 运行以下命令,为root用户设置密码。

        sudo passwd root

        运行命令后,您需要根据命令行的返回信息设置root用户的密码。

      2. 配置允许root用户使用密码登录实例。

        1. 运行以下命令,打开/etc/ssh/sshd_config文件。

          sudo vi /etc/ssh/sshd_config
        2. /etc/ssh/sshd_config文件中找到以PasswordAuthentication开头的配置行,按i键进入编辑模式,并将该行内容修改为PasswordAuthentication yes

          文件内容修改后如下图所示:root密码登录.png

          说明

          如果PasswordAuthentication的配置默认为yes,则您无需再修改文件内容。

        3. 修改完成后,按Esc键退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。

      3. 运行以下命令,重启SSH服务,使配置生效。

        sudo systemctl restart sshd

        后续您可以使用root用户与密码信息远程登录ECS实例。

    • root用户使用密钥对登录ECS实例

      将密钥对的公钥配置信息保存到/root/.ssh/authorized_keys配置文件中,即可使用root用户与密钥对信息远程登录ECS实例。

在ECS实例内添加其他普通用户

对于还不支持选择普通用户ecs-user作为登录名的操作系统,您可以创建ECS实例后,在实例内手动添加普通用户用于登录ECS实例。以下列出了在实例内添加普通用户的相关操作供您参考,您也可以根据自身运维习惯自行创建普通用户用于登录ECS实例。

说明

请将下述命令中的<username>替换为您实际需要设置的用户名。

  1. 使用root用户远程登录ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,创建普通用户。

    useradd <username>
  3. 执行以下命令,修改普通用户的密码。

    passwd <username>
说明
  • 如果您需要对创建的普通用户进行权限控制,可以通过/etc/sudoers文件或者/etc/sudoers.d/目录进行权限修改。

  • 使用创建的普通用户登录实例后,如果需要进行系统敏感操作(例如安装软件、重启服务、挂载磁盘等),在相关命令前需要添加sudo提权。

  • 本页导读 (1)
文档反馈