Alo*_*lon 9 ssh permissions login amazon-ec2 18.04
我在 EC2 上启动了一个 Ubuntu 18 实例。
我使用 ubuntu 用户连接到服务器。
我创建了一个名为 newuser 的新用户并将其添加到 sudo 组。
然后我跑了:
rsync --archive --chown=newuser:newuser ~/.ssh /home/newuser
Run Code Online (Sandbox Code Playgroud)
为了让新用户直接连接到服务器。
当我尝试使用新用户连接到服务器时,出现以下错误:
使用用户名“newuser”。
使用公钥“imported-openssh-key”进行身份验证
请以用户“ubuntu”而非用户“root”的身份登录。
我从 MobaXterm 和 PuTTY 得到同样的错误。
Alo*_*lon 10
正如 tritium_3 建议的那样,我必须编辑 .ssh/authorized_keys,以删除以下文本:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10"
Run Code Online (Sandbox Code Playgroud)
并保留其后的 ssh-rsa 和密钥。
但是,该rsync
命令已将文件复制到新用户,因此我必须编辑位于 /home/newuser/.ssh/authorized_keys 而不是 /root/.ssh/authorized_keys 下的文件。
小智 6
在authorized_keys 中有如下命令。
cat /root/.ssh/authorized_keys
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10"
Run Code Online (Sandbox Code Playgroud)
删除此行并保留其后的 ssh-rsa 和密钥。
保存文件,然后重试。
小智 5
解决这个问题的正确方法是使用 ssh 的-l
标志。不是通过篡改警告消息。
不工作:
$ sudo ssh -i *path/xxxxx.pem* n.n.n.n
Please login using xxxxx
Run Code Online (Sandbox Code Playgroud)
在职的:
$ sudo ssh -i keys/xxxxxx n.n.n.n -l ubuntu
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-1021-aws x86_64)
Run Code Online (Sandbox Code Playgroud)
注意:您正在提升执行文件访问权限的权限.pem
。这意味着您可能是“root”。SSH 连接要求您使用该计算机的用户名(在本例中为“ubuntu”)登录。因此,传递“-l”标志允许我们设置该值。
希望这可以帮助!
归档时间: |
|
查看次数: |
13831 次 |
最近记录: |