在centos系统中,可以通过以下几种方式提升ssh登录的安全性:
1. 实施SSH密钥认证
-
生成SSH密钥对:在本地计算机上生成SSH密钥对。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_key
-
将公钥复制到远程服务器:利用ssh-copy-id命令将公钥传输到远程服务器的~/.ssh/authorized_keys文件中。
ssh-copy-id user@remote_server
-
配置SSH服务器:修改远程服务器上的/etc/ssh/sshd_config文件,确保以下设置未被注释,并且正确设置。
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
-
重启SSH服务:保存并退出编辑后,重启SSH服务以应用配置变更。
sudo systemctl restart sshd
2. 禁用密码认证
-
为了加强安全性,可以关闭密码认证,仅允许公钥认证。编辑/etc/ssh/sshd_config文件,找到并调整以下配置:
PasswordAuthentication no
-
然后重启SSH服务以应用新配置:
sudo systemctl restart sshd
3. 修改SSH默认端口
-
通过更改SSH服务的默认端口,可以减少自动化扫描工具的攻击风险,从而提高安全性。编辑/etc/ssh/sshd_config文件,找到并修改以下设置:
Port 2222
-
保存文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
4. 禁止root用户登录
-
为了增强安全性,可以禁止root用户通过SSH登录。编辑/etc/ssh/sshd_config文件,将PermitRootLogin设置为no:
PermitRootLogin no
-
然后重启SSH服务以应用更改:
sudo systemctl restart sshd
5. 配置防火墙
-
使用firewalld来设置防火墙规则,只允许特定IP地址或端口访问SSH服务。
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent sudo firewall-cmd --reload
6. 其他安全措施
- 限制登录尝试次数:在sshd_config文件中设置MaxAuthTries为较小的数值,如3,以限制失败认证的最大次数。
- 启用公钥压缩:关闭或延迟压缩功能,以降低潜在的安全风险。
- 显示登录消息:在sshd_config文件中配置Banner,以在登录前显示提示信息。
通过上述配置,可以显著提升centos系统通过SSH登录的安全性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END