EC2 计算机如何阻止 ssh root 访问并发出警告?

EC2 计算机如何阻止 ssh root 访问并发出警告?

我已经在 EC2 上设置了一台运行 Debian Stretch 的机器。在尝试以 root 身份进行 ssh 时,我收到以下消息:

$ ssh -i "mykey" root@machine
Please login as the user "admin" rather than the user "root".

^C
Connection to machine closed.

请注意^C- 命令不会终止。

我可以admin毫无问题地登录,并且我知道为什么这已经完成了 - 我不确定如何, 尽管。

我的第一直觉是贝壳

admin@machine:~$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

没有。我检查了 nologin 以防万一:

admin@machine:~$ /usr/sbin/nologin  This account is currently not available.

不同的消息。

使系统在登录时打印出消息的机制是什么?

答案1

admin@machine:~$ sudo su 

root@machine:# cat /root/.ssh/authorized_keys 

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo
'Please login as the user \"admin\" rather than the user
\"root\".';echo;sleep 10" ssh-rsa ...

这就解释了这一点。这是通过授权密钥格式的自定义命令完成的 - 请参阅 AUTHORIZED_KEYS FILE FORMAT 部分sshd 手册了解详情。

正如评论中指出的,原因sleep很可能是为了让 PuTTY 用户有时间阅读该消息

答案2

下面提到的配置将拒绝 root 用户登录

vim /etc/ssh/sshd_config

允许根登录 否

允许用户[用户名]

相关内容