在 Amazon Linux 实例上管理用户账户
每个 Linux 实例均使用默认 Linux 系统用户账户启动。默认用户名由启动实例时指定的 AMI 决定。
对于 Amazon Linux 2 或 Amazon Linux AMI,用户名是
ec2-user
。对于 CentOS AMI,用户名是
centos
或ec2-user
。对于 Debian AMI,用户名称是
admin
。对于 Fedora AMI,用户名是
fedora
或ec2-user
。对于 RHEL AMI,用户名是
ec2-user
或root
。对于 SUSE AMI,用户名是
ec2-user
或root
。对于 Ubuntu AMI,用户名称是
ubuntu
。对于 Oracle AMI,用户名是
ec2-user
。对于 Bitnami AMI,用户名称是
bitnami
。否则,检查 AMI 提供程序。
Linux 系统用户不应与 AWS Identity and Access Management (IAM) 用户混淆。有关更多信息,请参阅 IAM 用户指南中的 IAM 用户。
注意事项
对于许多应用程序来说,使用默认用户账户是适当的。但是,您可以选择添加用户账户,以便个人能够拥有自己的文件和 WorkSpaces。此外,为新用户创建用户账户比向多个(可能缺乏经验的)用户授予对默认用户账户的访问权限更安全,因为如果使用不当,该默认用户账户可能对系统造成严重破坏。有关更多信息,请参阅有关保护您的 EC2 实例的提示
要使用 Linux 系统用户账户启用对 EC2 实例的用户 SSH 访问,您必须与用户分享 SSH 密钥。此外,您可以使用 EC2 实例连接来向用户提供访问权限而无需共享和管理 SSH 密钥。有关更多信息,请参阅使用 EC2 Instance Connect 连接到 Linux 实例。
创建用户账户
首先创建用户账户,然后添加允许用户连接并登录实例的 SSH 公有密钥。
创建用户账户
-
创建新的密钥对。您必须将
.pem
文件提供给要为其创建用户账户的用户。他们必须使用此文件来连接到实例。 -
从您在上一步中创建的密钥对中检索公有密钥。
$
ssh-keygen -y -f /path_to_key_pair
/key-pair-name
.pem该命令返回公有密钥,如以下示例所示。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-
连接到实例。
-
使用 adduser 命令创建用户账户并将其添加到系统(
/etc/passwd
文件中会有一个条目)中。该命令还可以为账户创建一个组和一个主目录。在此示例中,用户账户名为
。newuser
-
Amazon Linux 和 Amazon Linux 2
[ec2-user ~]$
sudo adduser
newuser
-
Ubuntu
添加
--disabled-password
参数,可以创建没有密码的用户账户。[ubuntu ~]$
sudo adduser
--disabled-passwordnewuser
-
-
切换到新账户,以使创建的目录和文件具有正确的所有权。
[ec2-user ~]$
sudo su -
newuser
如果提示从
ec2-user
变为
,则表示您已将 Shell 会话切换到新账户。newuser
-
将 SSH 公有密钥添加到用户账户。首先在 SSH 密钥文件对应的用户主目录中创建一个目录,然后创建密钥文件,最后将公有密钥粘贴到该密钥文件中,如以下分步说明中所述。
-
在
.ssh
主目录中创建一个
目录,并将其权限更改为newuser
700
(只有文件所有者能够读取、写入或打开该目录。)[newuser ~]$
mkdir .ssh
[newuser ~]$
chmod 700 .ssh
重要 如果没有这些确切的文件权限,用户将无法登录。
-
在
authorized_keys
目录中创建名为.ssh
的文件并将其权限更改为600
(只有文件所有者能够读取或写入此文件)。[newuser ~]$
touch .ssh/authorized_keys
[newuser ~]$
chmod 600 .ssh/authorized_keys
重要 如果没有这些确切的文件权限,用户将无法登录。
-
使用您常用的文本编辑器 (如 vim 或 nano) 打开
authorized_keys
文件。[newuser ~]$
nano .ssh/authorized_keys
将您在步骤 2 中检索到的公有密钥粘贴到文件中并保存更改。
重要 确保将公有密钥粘贴到一个连续行中。不得将公有密钥拆分为多行。
用户现在应该能够使用添加到
文件的公有密钥所对应的私有密钥登录实例上的newuser
authorized_keys
账户。有关连接到 Linux 实例的不同方法的更多信息,请参阅连接到您的 Linux 实例。
-
删除用户账户
如果不再需要某个用户账户,可以将其删除,使它不再可用。
使用 userdel 命令从系统中删除用户账户。当您指定 -r
参数时,用户的主目录和邮件后台打印将被删除。要保留用户的主目录和邮件后台打印,请省略 -r
参数。
[ec2-user ~]$
sudo userdel -r
olduser