在CentOS系统中,配置SSH安全登录可以通过以下几个步骤来实现:
首先,确保你的系统是最新的,以防止已知的安全漏洞。
sudo yum update -y
编辑SSH配置文件 /etc/ssh/sshd_config。
sudo vi /etc/ssh/sshd_config
PermitRootLogin: 禁止root用户直接登录。
PermitRootLogin no
PasswordAuthentication: 禁用密码认证(推荐使用密钥认证)。
PasswordAuthentication no
ChallengeResponseAuthentication: 禁用挑战响应认证。
ChallengeResponseAuthentication no
UsePAM: 启用PAM(Pluggable Authentication Modules)。
UsePAM yes
MaxAuthTries: 设置最大认证尝试次数。
MaxAuthTries 3
ClientAliveInterval: 设置客户端空闲时间间隔。
ClientAliveInterval 60
ClientAliveCountMax: 设置客户端空闲次数上限。
ClientAliveCountMax 3
保存并退出配置文件后,重启SSH服务以应用更改。
sudo systemctl restart sshd
确保防火墙允许SSH连接(默认端口22)。
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你希望使用密钥认证而不是密码认证,可以按照以下步骤操作:
在本地机器上生成SSH密钥对(如果还没有)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
使用 ssh-copy-id 命令将公钥复制到远程服务器。
ssh-copy-id user@remote_host
如果你希望进一步限制SSH密钥认证,可以在 /etc/ssh/sshd_config 中添加以下配置:
PubkeyAuthentication: 启用公钥认证。
PubkeyAuthentication yes
AuthorizedKeysFile: 指定授权密钥文件的位置。
AuthorizedKeysFile .ssh/authorized_keys
确保SSH登录日志被正确记录和监控。
sudo tail -f /var/log/secure
通过以上步骤,你可以大大提高CentOS系统上SSH登录的安全性。