在AWS中设置用户并解决SSH登录提示问题

45次阅读
没有评论

问题描述

在AWS中使用Terraform创建了多个实例,并通过脚本创建了一个名为”user1″的用户。然而,在登录时遇到了问题。当使用”user1@XXXXXXX”登录时,出现以下提示信息:Please login as the user “ec2-user” rather than the user “root”。用户想要解决这个问题,不希望手动去删除这行提示信息。

解决方案

以下提供了两种解决方案,你可以根据自己的实际情况选择其中之一。请注意,如果遇到版本差异或有风险的操作,请在操作之前做好备份,并按照Markdown的引用格式进行提示。

方案1:使用Ansible进行用户配置

在AWS中,使用Terraform进行基础设施的设置是非常棒的选择。但对于实际配置,可以考虑使用Ansible来配置额外的用户。

  1. 在Terraform运行并设置好所有资源后(例如EC2实例、安全组等),使用Ansible进行进一步的用户配置。

  2. 建议保留AWS默认用户(如ec2-user、ubuntu),如果使用SSH密钥进行登录,将允许SSH访问的所有用户的公钥添加到“authorized_keys”文件中。

  3. 编辑sudoers文件以授权用户执行sudo命令的权限。可以创建所需的用户组,并分配合适的权限。

  4. 将用户分组,并在“sshd_config”中允许这些用户组通过SSH连接。需要将每个用户组成员的公钥添加到相应的“authorized_keys”文件中。

  5. 重新启动SSH服务,让配置生效。

这种方法允许你更好地组织用户,并在SSH连接时有更好的控制。请确保在进行任何重要操作之前备份重要数据和配置文件。

方案2:复制正确的authorized_keys文件

另一种方法是复制正确的authorized_keys文件,以解决登录提示问题。

  1. 首先,确定你希望的是以ec2-user用户身份登录,还是使用你自己创建的user1用户身份登录。

  2. /home/ec2-user/.ssh/authorized_keys复制authorized_keys文件,然后将其粘贴到/home/user1/.ssh/目录下,替换现有的authorized_keys文件。

  3. 使用以下命令完成复制:

bash
cp /home/ec2-user/.ssh/authorized_keys /home/user1/.ssh/authorized_keys

  1. 请注意,复制文件后,可能会遇到文件权限问题。确保/home/user1/.ssh/authorized_keys文件具有正确的权限,以便能够成功进行SSH登录。

这种方法通过直接复制正确的authorized_keys文件,避免了手动编辑文件,从而解决了登录提示问题。然而,仍然需要注意文件权限问题以确保顺利登录。

请根据自己的实际情况选择适合你的解决方案,并确保在操作之前做好备份和测试。如果需要,你还可以进一步根据实际情况进行适当的调整和配置。

正文完