这可能是我没有找到的任何问题的重复,但我很好奇。
我拥有一台 Linux 服务器,托管在某处,我将其配置为允许 root 用户进行 ssh 连接 - 实际上它没有配置其他真实用户。它完全没有密码,并且sshd
配置为允许无密码 root 登录。
我还看到几篇帖子说 root 密码组合太容易猜到,因此您应该禁用远程 root 登录。此外,他们通常会写 ssh 密钥几乎无法猜测,因此被认为是安全的。那么为什么没有人应该在 root 上使用它们呢?
有时他们会说这样的话:你可以看到谁在你的系统上做了什么,但这是我自己的私人系统,如果其他人在我不知情的情况下在那里做了什么,我还是会遇到大麻烦,对吧?我理解非私人系统的情况,但与我的系统不同。
最后他们甚至写道你可以排除哪些命令需要 root 权限,哪些不需要。我认为让一个你不信任的程序在你的系统上不产生意外才是真正的安全问题。或者这只是你自己的问题,你最好有备份...
那么,大家应该一起禁止 root 用户通过 ssh 登录的真正原因是什么?是它已经过时了,还是我的用例只是被忽视的小众用例,还是我错了,忽略了这里的任何问题?
我很清楚我的安全取决于我使用的 ssh 密钥,因此我限制自己在任何情况下都不要让密钥离开客户端磁盘。因此,如果我丢失了手机,我只需从文件中删除此行即可~/.ssh/authorized_keys
。
在有人询问之前我的配置...:
密码文件 /etc/passwd
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
mail:x:8:12::/var/spool/mail:/usr/bin/nologin
ftp:x:14:11::/srv/ftp:/usr/bin/nologin
http:x:33:33::/srv/http:/usr/bin/nologin
nobody:x:65534:65534:Nobody:/:/usr/bin/nologin
dbus:x:81:81:System Message Bus:/:/usr/bin/nologin
systemd-journal-remote:x:982:982:systemd Journal Remote:/:/usr/bin/nologin
systemd-network:x:981:981:systemd Network Management:/:/usr/bin/nologin
systemd-resolve:x:980:980:systemd Resolver:/:/usr/bin/nologin
systemd-timesync:x:979:979:systemd Time Synchronization:/:/usr/bin/nologin
systemd-coredump:x:978:978:systemd Core Dumper:/:/usr/bin/nologin
uuidd:x:68:68::/:/usr/bin/nologin
git:x:976:976:git daemon user:/:/usr/bin/git-shell
polkitd:x:102:102:PolicyKit daemon:/:/usr/bin/nologin
dnsmasq:x:974:974:dnsmasq daemon:/:/usr/bin/nologin
named:x:40:40:BIND DNS Server:/:/usr/bin/nologin
systemd-oom:x:972:972:systemd Userspace OOM Killer:/:/usr/bin/nologin
/etc/ssh/sshd_config
PermitRootLogin without-password
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
Subsystem sftp /usr/lib/ssh/sftp-server
/etc/shadow
root:*:14871::::::
bin:!*:18502::::::
daemon:!*:18502::::::
mail:!*:18502::::::
ftp:!*:18502::::::
http:!*:18502::::::
nobody:!*:18502::::::
dbus:!*:18502::::::
systemd-journal-remote:!*:18502::::::
systemd-network:!*:18502::::::
systemd-resolve:!*:18502::::::
systemd-timesync:!*:18502::::::
systemd-coredump:!*:18502::::::
uuidd:!*:18502::::::
git:!*:18512::::::
polkitd:!*:18522::::::
dnsmasq:!*:18522::::::
named:!*:18525::::::
systemd-oom:!*:18724::::::