CentOS如何提高SSH登录安全性

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
喜欢就支持一下吧
点赞15 分享