Linux 系统禁止 root 用户 SSH 登录
AI 摘要 Kimi Chat
文章讨论了如何
Root 用户在 linux 系统中拥有至高无上的权力与地位,可以做任何你想做的事,因此若一旦被不怀好意的人暴力破解 root 用户的密码,服务器就会陷入危险境地。
(我的服务器:这么看得起我???)咳咳,虽然我的服务器不值得被其他人暴破,但流程还是要走一下的。阿里云的 Linux 服务器自带了一个可以在控制台无密码登录的 admin 用户,因此只要禁止 root 登录 SSH 即可。而我不太喜欢阿里云的远程连接界面,故又创了一个新用户。
禁止 root 用户登录的操作:
bash
# 打开以下文件
sudo vi /etc/ssh/sshd_config
raw
# 翻到文件最下面将这一项修改为no
PermitRootLogin no
bash
# 重启sshd
sudo systemctl restart sshd.service
但这种方法过于简单粗暴,也直接限制了 root 的 sftp 登录,如果想让 root 用户仍可以登录 sftp,则可以使用方法二。
raw
# 这一项不修改
PermitRootLogin yes
# 添加下面两行
Match user root
ForceCommand internal-sftp
bash
# 重启sshd
sudo systemctl restart sshd.service
以下操作用于新建用户:
bash
# 新建一个用户(命名为user1)
sudo adduser user1
# 为其设置密码
sudo passwd user1
设置密码以后,便可以用该用户登录 ssh,然后使用 sudo su
来切换 root 用户,唯一的缺点就是需要再输一遍密码,以下操作可以避免之:
bash
# 使用visudo命令打开sudoers文件
sudo visudo /etc/sudoers
raw
# 添加一行
user1 ALL=(ALL) NOPASSWD:ALL
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逸风亭!