我在 Linux 服务器上运行 VPS,选定的操作系统是 CentOS 7(64 位)。
我最近清理了 VPS,所以目前它只安装了 Plesk Onyx。现在我想在设置域和电子邮件之前通过 SSH 禁用对 VPS 的 root 访问权限。
为了实现这一点,我通过 PuTTY 终端获得了 SSH 访问权限。使用 Nano 文本编辑器,我输入了以下命令行:
# nano /etc/ssh/sshd_config
这打开了正确的文件,然后我将#PermitRootLogin
条目从“是”更改为“否”;如以下屏幕截图所示:
我可以保存并退出文件。再次访问文件时,我还可以看到更改确实已保存。
我知道,要使这些更改生效,SSH 服务需要重新启动。为此,我尝试了以下命令行(单独):
# service ssh reload
# sudo systemctl restart sshd.service
# sudo systemctl restart sshd
# sudo systemctl restart sshd.service
上述命令行均无法确认 SSH 是否已重新启动。无论如何,我仍然能够使用 root 凭据登录 SSH。
有人能指出我可能哪里出错了吗?
答案1
在许多配置文件中,注释行显示默认值,例如在 sshd_config 文件中:
#PermitRootLogin yes
您需要更改为不并删除#取消注释该行
PermitRootLogin no
对于 systemctl 和许多其他命令来说,如果它没有返回任何内容,则表示命令成功