管理远程连接用户

在连接实例时,首先需要完成身份验证,确保只有授权用户能够访问和管理服务器资源,以增强安全性。创建实例时,您可以选择一个系统预设的用户作为初始登录用户。实例创建完成后,即可用该用户身份登录。本文将详细介绍不同用户的特点与区别,以及如何管理这些用户和添加额外的远程连接用户。

Linux实例初始登录用户

初始登录用户说明

Linux实例的初始用户是指您在创建Linux实例时设置的登录用户,对于Linux实例,初始用户可以设置为rootecs-userrootecs-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用户连接实例。如果您需要连接实例,您可以使用以下两种方式连接:

Windows实例初始登录用户

初始登录用户说明

Windows的初始用户是指您在创建Windows实例时设置的登录用户,对于Windows实例,初始用户为administrator。该用户是Windows用户的超级管理员,拥有整个Windows系统的所有操作权限。对于初始用户的管理,包括密码修改可以在控制台操作,请参见重置初始用户的密码(Linux/Windows)

登录凭证说明

在创建实例时,您可以为初始登录用户设置登录凭证,包括自定义密码创建后设置两个选项,具体说明如下:

  • 自定义密码

    用于远程连接Windows实例时登录系统的密码。

  • 创建后设置

    如果您选择创建后设置选项,在创建实例时,不会为administrator设置密码,如果您需要连接实例,您可以使用以下两种方式连接:

    • 方式一:先设置实例登录密码,然后通过administrator和该密码远程连接实例。设置实例的登录密码,请参见重置初始用户的密码(Linux/Windows)

    • 方式二:无需设置密码,开启云助手功能的实例,可以使用会话管理免密登录实例。

      通过会话管理登录实例时,使用的用户为system,更多信息,请参见通过会话管理连接实例

管理实例初始用户的凭证

当您的实例创建完成后,您可以在阿里云控制台中管理初始用户的密码或密钥对等信息。

重置初始用户的密钥对(Linux)

您可以在阿里云控制台修改初始用户的密钥对。具体操作如下:

  1. 创建密钥对。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择网络与安全 > 密钥对

    3. 在页面左侧顶部,选择目标资源所在的资源组和地域。

    4. 密钥对列表页面,单击创建密钥对

    5. 创建密钥对页面,根据界面提示配置密钥对。

      您可以直接选择自动创建密钥对,如果您已经在其他地方创建好密钥对,您可以选择导入已有密钥对,并将您已创建密钥对的公钥导入。具体操作,请参见导入SSH密钥对

    6. 完成配置后单击确定按钮,完成密钥对的创建。

      重要

      如果您选择创建密钥对的创建类型自动创建密钥对,在创建完成后,会自动下载新密钥对的私钥,阿里云不会保存您的私钥(.pem文件),请您妥善保管。

  2. 绑定密钥对。

    1. 密钥对页面,找到步骤1创建的密钥对,在对应操作列下,单击绑定密钥对,进入绑定密钥对页面。

    2. 绑定密钥对页面,选择需要绑定的ECS实例,然后单击下一步

    3. 设置合适的重启方式后,单击确认。等待实例重启完毕后,密钥对生效。

重置初始用户的密码(Linux/Windows)

您可以在阿里云控制台修改初始用户的登录密码。具体操作如下:

  1. 进入阿里云ECS控制台,找到待修改密码的实例,进入修改密码页面。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像 > 实例

    3. 在页面左侧顶部,选择目标资源所在的资源组和地域。

    4. 在实例列表页面,找到需要修改密码的实例,单击对应操作列下的实例属性 > 重置实例密码

    image

  2. 在弹出重置实例密码页面,修改实例登录密码。

    配置项说明:

    • 登录名:该项默认为您ECS实例的初始用户的用户名,无需修改。

    • 新密码/确认密码:根据界面提示设置新密码。

    • 重置密码的方式

      • 在线重置密码(推荐):修改密码后,无需重启实例,但需要实例安装云助手Agent,在线重置密码支持重置实例其他用户的密码。

        2017年12月01日之后使用阿里云公共镜像创建的ECS实例,默认预装了云助手Agent,如何安装,请参见安装云助手Agent
      • 离线重置密码:修改密码后,需要重启实例。不需要实例安装云助手。但离线重置密码的方式仅支持重置实例初始用户的密码。如果不想

    • 配置SSH密码登录策略(仅Linux系统的实例需关注该配置项):

      • 开启(推荐):若您需要通过SSH密码认证的方式连接到Linux实例,请选择开启。

        选择该选项,会调整您用户的SSH配置,开启SSH的密码登录功能,即自动设置/etc/ssh/sshd_config中的PasswordAuthenticationtrue
      • 保持原有设置:如果您不需要通过SSH密码认证的方式连接到实例(比如通过VNC连接),可以使用此选项。该选项表示仅更改实例内部操作系统中用户的登录密码。

        选择该选项,会保持原有的SSH配置不变,如果之前您的SSH配置文件中的PasswordAuthentication为false,可能无法通过SSH密码认证的方式连接到实例Linux实例。

    image

  3. 确认信息后单击确认修改完成重置密码的操作。

添加更多用于远程连接的用户

如果您需要创建更多用于远程连接实例的用户,您可以参考以下步骤,在操作系统内部创建普通用户并开启远程连接。

Linux实例

重要

在Linux实例中,添加远程连接用户后需要检查SSH的配置文件/etc/ssh/sshd_config

  • 使用密钥对登录时(SSH方式),必须开启SSH密钥对认证的功能,即保证SSH配置中的PubkeyAuthentication配置项为yes,已包含在下面操作步骤中。

  • 使用密码登录时(SSH方式),必须开启SSH密码认证的功能,即保证SSH配置中的PasswordAuthentication配置项为yes,已包含在下面的操作步骤中。

  • 使用VNC方式以及会话管理方式登录时对该配置文件无要求。

本示例以创建新用户exampleuser为例。
  1. 连接到ECS实例。

    选择合适的方式连接到ECS实例,具体操作,请参见2.1 通过SSH的方式连接实例(Linux)2.3 通过会话管理连接实例(Linux/Windows)

  2. 创建用户。

    输入以下命令创建用户:

    sudo useradd -m <username>

    <username>是您准备创建用户的用户名,例如创建exampleuser可使用以下命令。

    sudo useradd -m exampleuser
  3. 密码/密钥对设置。

    设置密钥对

    密钥对分为公钥和私钥,公钥需要存储在您的实例中,私钥需要您自行保存,登录时需要用到私钥。

    1. 准备密钥对。

      您可以使用您已有的密钥对,或者创建新的密钥对,创建密钥对操作如下。

      创建密钥对

      重要

      请不要在实例中通过ssh-keygen创建密钥对,请不要将您生成的私钥保存在需要连接的ECS实例中。

      在您本机的命令行工具中输入以下命令,然后连续回车,代表生成一个长度为2048且加密方式为RSA的密钥对。

      ssh-keygen -t rsa -b 2048 -f "./id_rsa"
      该命令会在当前所在路径下生成一个id_rsa文件(私钥),id_rsa.pub文件(公钥)。
    2. 配置公钥到authorized_keys配置文件。

      将公钥里的内容复制到实例对应用户根路径下的.ssh/authorized_keys文件中。

      1. 在用户目录下创建.ssh文件夹。命令如下:

        sudo mkdir /home/<username>/.ssh

        <username>是您步骤2中创建的用户的用户名,例如您在第一步中创建了exampleuser您可以使用以下命令编辑该用户的配置文件。

        sudo mkdir /home/exampleuser/.ssh
      2. 在新建用户的根路径下创建.ssh/authorized_keys配置文件,并将您在步骤a中生成的公钥文件(id_rsa.pub)的内容复制到该配置文件中。配置文件的绝对位置及名称如下:

        /home/<username>/.ssh/authorized_keys

        <username>是您步骤2中创建的用户的用户名。例如您在第一步中创建了exampleuser,配置文件的绝对位置及名称为:

        /home/exampleuser/.ssh/authorized_keys
        您可以通过vim编辑器完成文件修改操作,关于vim的用法,请参见Vim编辑器
      3. 修改.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
    3. 检查并修改SSH的/etc/ssh/sshd_config配置文件。

      在配置用户密钥对之后,需要配置SSH服务开启密钥对认证,需要修改SSH的配置文件/etc/ssh/sshd_config中的PubkeyAuthentication参数为yes

      您可以通过vim编辑器完成该操作,关于vim的用法,请参见Vim编辑器
    4. 输入命令,重启sshd服务,使配置生效。

      sudo systemctl restart sshd

    设置密码

    重要

    为确保安全,请不要使用弱密码作为用户的登录密码。

    1. 在实例中输入以下命令设置密码。

      sudo passwd <username>

      <username>是您在步骤2中创建的用户的用户名。例如在步骤1中创建了exampleuser,您可以使用以下命令完成设置密码。

      sudo passwd exampleuser

      根据界面提示输入新密码和确认密码。

      image

    2. 检查并修改SSH的/etc/ssh/sshd_config配置文件。

      在配置用户密码之后,需要配置SSH服务开启密码认证,需要修改SSH的配置文件/etc/ssh/sshd_config中的PasswordAuthentication参数为yes

      您可以通过vim编辑器完成该操作,关于vim的用法,请参见Vim编辑器
    3. 输入命令,重启sshd服务,使配置生效。

      sudo systemctl restart sshd
  4. (验证)使用新创建的用户远程登录到ECS实例。

Windows实例

要在Windows实例中添加新的远程连接用户,需要先创建新用户,并将其添加到Remote Desktop Users用户组。

重要

如果您需要两个以上的用户同时远程登录Windows实例,需要使用微软的远程桌面服务(Remote Desktop Services)的能力,更多关于远程桌面服务的信息,请参见Windows Server 中的远程桌面服务概述

本示例以在Windows Server 2022系统的实例创建新用户exampleuser为例。不同版本的Windows系统界面可能存在差异。
  1. 连接到ECS实例。

    选择合适的方式连接到ECS实例,具体操作,请参见2.2 通过RDP的方式连接实例(Windows)

  2. 创建用户。

    1. 打开控制面板,找到用户账户单击下面的更改账户类型

    image

    1. 账户管理页面,单击添加用户账户,进入添加用户页面。

    image

    1. 在添加用户页面,根据界面提示,设置新用户的用户名及密码。

      本示例以创建exampleuser为例,请您根据您的需求设置用户名
    2. 单击下一步,然后单击完成。完成新用户的创建。

    image

  3. 将新用户添加到Remote Desktop Users用户组。

    1. 在任务栏的搜索框搜索计算机管理单击搜索到的计算机管理进入计算机管理页面。

    image

    1. 系统工具 > 本地用户和组 > 下,找到Remote Desktop Users用户组。双击进入Remote Desktop Users属性页面。

    image

    1. 操作流程如图所示。

      1. Remote Desktop Users属性页面,单击添加

      2. 输入步骤2中创建用户的用户名,单击检查名称,之后输入框会自动根据您输入的用户名称补全用户的名称全称。

      3. 单击确定。在Remote Desktop Users属性页面依次单击应用确定。完成将用户添加到用户组的操作。

    image

  4. (验证)使用新创建的用户远程登录到ECS实例。