无原用户密码,如何通过AWS控制台为旧EC2实例创建新用户?
问题解答
首先明确:AWS控制台无法直接创建EC2实例内部的操作系统用户。EC2实例里的用户属于实例操作系统(比如Linux)的管理范畴,AWS控制台只负责云资源(实例本身、IAM权限等)的管控,不干预系统内部用户操作。
你已经能通过密钥登录到实例,直接在实例内部创建新用户就行,步骤如下:
先登录到EC2实例:
ssh -i id_rsa.pem test-data@mydomain.com切换到root权限(创建用户需要管理员权限):
如果test-data用户有sudo权限,直接执行:sudo su -(注:用密钥登录的用户通常默认配置了免密码sudo,直接回车即可)
创建新用户
test2-data(-m参数会自动生成用户家目录):useradd -m test2-data(可选)给新用户设置密码(如果需要密码登录的话):
passwd test2-data按提示输入并确认密码即可。
配置密钥登录(推荐,和现有登录方式一样安全):
- 本地生成新密钥对(如果不需要新密钥,也可以复用现有密钥):
一路回车即可生成ssh-keygen -t rsa -f id_rsa_test2id_rsa_test2(私钥)和id_rsa_test2.pub(公钥)。 - 在实例里配置新用户的SSH密钥:
先创建用户的.ssh目录并设置权限:
然后把本地的mkdir -p /home/test2-data/.ssh chown -R test2-data:test2-data /home/test2-data/.ssh chmod 700 /home/test2-data/.sshid_rsa_test2.pub内容复制到实例的/home/test2-data/.ssh/authorized_keys文件里:
粘贴公钥内容后保存退出,再设置文件权限:nano /home/test2-data/.ssh/authorized_keyschmod 600 /home/test2-data/.ssh/authorized_keys
- 本地生成新密钥对(如果不需要新密钥,也可以复用现有密钥):
测试新用户登录:
ssh -i id_rsa_test2 test2-data@mydomain.com
内容的提问来源于stack exchange,提问作者PJ17
相关产品推荐
相关产品推荐

