Joel 向您演示如何
管理
运行 Linxu 的 EC2 实例上的用户账户

joel-new-user-accounts-linux-instance

如何将具有 SSH 访问权的新用户账户添加到 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例?

每个 Amazon EC2 Linux 实例均使用默认的系统用户账户启动,此账户具有实例的管理访问权。如果多个用户需要访问该实例,则从安全角度而言,为每个用户使用单独的账户是一种最佳实践。

向 EC2 Linux 实例添加具有远程访问权的新用户账户。每个账户都可以使用 SSH 从另一台计算机或另一个 EC2 实例连接到该实例。新用户将能够使用 SSH 从另一台计算机或另一个 EC2 实例连接到该实例。

注意:您可以利用 cloud-init 和用户数据加快这些步骤的执行速度,详见 How can I add an additional SSH user account with cloud-init and user data for my EC2 instance?

先决条件

1.    完成相关步骤,启动并连接到 EC2 Linux 实例 - 有关更多信息,请参阅Amazon EC2 Linux 实例入门连接到您的 Linux 实例

2.    为新用户账户创建密钥对,或确保您有权访问现有的密钥对 - 由于新用户账户使用与密钥对的公有密钥对应的私有密钥进行身份验证,因此您应该在添加新用户账户之前生成新的密钥对,或者找到适当的原有密钥对。有关更多信息,请参见使用 Amazon EC2 创建密钥对。如果您使用命令行创建密钥对,请按照 create-key-pairNew-EC2KeyPair Cmdlet 中有关密钥类型和位长度方面的建议操作。如果您使用第三方工具创建密钥对,请确保您的密钥符合将您自己的公有密钥导入 Amazon EC2 中介绍的密钥类型和位长度准则。

将新用户添加到 EC2 Linux 实例

1.    向实例添加新用户账户,其中 new_user 是新账户名称的占位符。该命令会在实例的 /etc/passwd 文件中创建关联的组、主目录和条目。

sudo adduser new_user

注意:如果您要向 Ubuntu 实例添加新用户,应包含 --disabled-password 选项,以免为新账户添加密码。

sudo adduser new_user --disabled-password

2.    将安全上下文更改为新的用户账户,以便您创建的文件夹和文件具有正确的许可。

sudo su new_user

注意:在运行 sudo su new_user 命令时,命令 shell 提示符顶端的名称会发生变化,以体现您的 shell 会话的新用户账户上下文。

3.    在 new_user 主目录中创建一个 .ssh 目录,并将其文件许可更改为 700。这会强制要求仅有 new_user 可以读取、写入或打开该目录。

cd
mkdir .ssh
chmod 700 .ssh

4.    在 .ssh 目录中创建 authorized_keys 文件,随后将文件许可限制为 600,强制要求仅有 new_user 具备该文件的读取或写入权限。

cd
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

检索您的密钥对的公有密钥

检索您的密钥对的公有密钥。复制公有密钥,随后使用 Linux cat 命令将公有密钥粘贴到新用户的 .ssh/authorized keys 文件中。

验证密钥对的指纹

导入您自己的公有密钥或者检索您的密钥对的公有密钥之后,请按照验证您的密钥对指纹中的步骤操作。

更新并验证新用户账户凭证

复制公有密钥后,使用在新用户账户的上下文中运行的命令 shell 会话,确认您有权将公有密钥添加到此账户的 .ssh/authorized_keys 文件中:

1.    在附加模式下运行 cat 命令 (cat >> .ssh/authorized_keys)。

2.    将公有密钥粘贴到 open cat 提示符中,随后按 Enter 键。
注意:对于大多数 Linux 命令行界面,Ctrl+Shift+V 键组合会将剪贴板上的内容粘贴到命令行窗口中。对于 PuTTY 命令行界面,鼠标右键单击可将剪贴板上的内容粘贴到 PuTTY 命令行窗口中。

3.    按住 Ctrl+D 可退出 cat 并返回命令会话提示符。

验证您是否可以使用 SSH 连接到您的实例

要验证您是否可以通过 SSH 以 new_user 身份连接到您的 EC2 实例,请在本地计算机上从命令行运行以下命令:

ssh -i /path/new_key_pair.pem new_user@public_dns_name_of_EC2_Linux_instance

要使用 SSH 从 Windows 连接到您的 EC2 Linux 实例,请按照使用 PuTTY 从 Windows 连接到 Linux 实例中的步骤操作。

使用 SSH 以 new_user 身份连接到实例后,请从 EC2 实例命令行运行以下命令,以查看为 new_user 账户创建的用户和组信息:

id

此命令会返回类似以下内容的信息:

uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)

此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2017 年 2 月 21 日

更新时间:2018 年 3 月 30 日