在CentOS上配置SSH安全访问可以通过以下几个步骤来实现:
首先,确保你的CentOS系统是最新的,以防止已知的安全漏洞。
sudo yum update -y
默认情况下,SSH使用端口22。为了增加安全性,可以将SSH服务配置为使用非标准端口。
sudo vi /etc/ssh/sshd_config
Port 22
改为:Port 2222 # 选择一个非标准端口
为了防止root用户直接通过SSH登录,可以禁用root登录。
sshd_config文件中找到以下行:PermitRootLogin yes
改为:PermitRootLogin no
使用公钥认证比密码认证更安全。
ssh-keygen -t rsa -b 4096
ssh-copy-id user@server_ip -p 2222
其中user是服务器上的用户名,server_ip是服务器的IP地址。确保防火墙允许SSH连接。
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
可以通过配置sshd_config文件来限制特定IP地址或子网的访问。
sshd_config文件中添加以下行:AllowUsers user@trusted_ip
其中user是允许登录的用户名,trusted_ip是允许访问的IP地址或子网。定期更新SSH服务器软件以修补安全漏洞,并监控SSH日志文件以检测异常活动。
sudo yum update openssh-server -y
sudo tail -f /var/log/secure
Fail2Ban可以防止暴力破解攻击。
sudo yum install fail2ban -y
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo vi /etc/fail2ban/jail.local
添加以下内容:[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
通过以上步骤,你可以显著提高CentOS上SSH服务的安全性。