Basic Security
Migrated from https://github.com/wenxin-wang/wiki/blob/master/%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE.org.
SVR=服务器 UNAME=用户名
无论是物理机还是虚拟机,除了下面的内容,请配置[防火墙](./FirewallD.md)和[Fail2Ban](./Fail2Ban.md)。
1. (必须)一定要配啊!
禁止root用密码ssh登录
sudo sed -i 's@^PermitRootLogin .*$@PermitRootLogin without-password@' /etc/ssh/sshd_config && (sudo systemctl restart sshd || sudo service sshd restart)
2. (可选)拷贝ssh公钥
# 如果在linux上,不输'${UNAME}@',会用当前用户名登录, 相当于'${USER}@' ssh-copy-id ${UNAME}@${SVR} ssh ${UNAME}@${SVR}
3. (如果有公钥)(可选)删除本用户的密码,添加root密码
主要用于物理机:
- 远程登录必须用key
- 出问题到机房用root登录
步骤:
- 添加一个不需要输密码的用户组sudonopasswd
- 为root添加密码
- 删除本用户的密码:)
# 因为sudo可能会问密码,拆成两步省得复制粘贴时把命令粘到密码栏 NPWG=sudonopasswd sudo groupadd -r $NPWG && sudo usermod -aG $NPWG $USER echo "%$NPWG ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/sudonopasswd echo "set root password" sudo passwd root sudo passwd -l $USER
然后!!千万别退出ssh!新建一个ssh连接,确认你还能登录。要不然就要去机房接显示器了。
ssh ${UNAME}@${SVR} # 再确认下
4. Backlinks
- Debian (20251029T221826-debian.org)