我想向我的 AWS 实例添加一个用户,并使用现有密钥对以该用户身份进行 ssh 登录。
现在我可以以 root 身份登录我的 AWS 实例:
ssh -i ~/path/mysshkeypair.pem root@EC2-my###-###.compute-1.amazonaws.com
以 root 身份登录后,我创建了另一个用户并为其指定了主目录。我可以输入“su otheruser”并浏览。但是当我退出并尝试时:
ssh -i ~/path/mysshkeypair.pem otheruser@EC2-my###-###.compute-1.amazonaws.com
我得到:权限被拒绝(公钥)。
我需要遵循哪些步骤才能以其他用户身份登录?
我的机器是Mac,实例是Ubuntu机器。
答案1
我假设您正在使用未修改的 SSH 配置。
您正在尝试对不同的 Ubuntu 用户使用相同的 SSH 私钥。但是,Ubuntu 计算机上的 SSH 服务器将尝试仅在登录用户(即您的情况中的“其他用户”)的主目录中查找匹配的 SSH 公钥,并且您显然也没有在那里提供相关的 SSH 公钥。
您可以通过将用户“root”的公共 SSH 密钥(通常包含在中/root/.ssh/authorized_keys
)附加到用户“otheruser”的公共 SSH 密钥(通常包含在中/home/otheruser/.ssh/authorized_keys
)来完成此工作,即,在您的情况下,您可能只需将前者复制到后者即可。
请注意,如果您的 SSH 服务器配置已经过强化,则可能需要进行额外的调整才能首先为“其他用户”启用 SSH 访问(例如,将“其他用户”附加到允许用户指令/etc/ssh/sshd_config
),但是,对于任何默认的 AWS Ubuntu 实例来说,这都是不寻常的。