我已经为我的 Ubuntu 服务器设置了仅基于密钥的 SSH 登录(并拒绝 root 登录)
ls -l /home/ernest/.ssh
显示如下:
-rw------- 1 ernest ernest 405 Dec 14 09:17 authorized_keys
这是否意味着在ernest
(我的管理登录)下运行的任何进程都可以修改authorized_keys
,从而我将无法访问我的服务器?
如果是,有什么做法可以保护吗authorized_keys
?
答案1
如果您不打算经常更改该文件,那么通常只需删除该文件的写访问权限即可。
chmod 400 ~/.ssh/authorized_keys
现在,当然,恶意脚本可以将写访问权限重新添加,因此您需要将文件及其父目录设置为不可变的:
sudo chattr +i ~/.ssh/authorized_keys
sudo chattr +i ~/.ssh