我们的linux服务器经常登录后会受到这样的提示:

Last failed login: Fri Aug 22 19:31:42 CEST 2014 from xx.xxx.xxx.xx on ssh:notty
There were 17307 failed login attempts since the last successful login.
Last login: Wed Aug 13 11:11:55 2014 from yyy-yyy-yyy-yyy

对于此类暴力破解密码的攻击,最简单的方式就是更改ssh端口号,由于系统的变更,centos7相比centos6的更改方式有点变化,具体步骤如下:

  1. 编辑/etc/ssh/sshd_config文件,把#Port 22的注释去掉,更改为Port 7251(这个具体的端口号随自己喜欢改)
  2. CentOS7默认是启用selinux加固的,所以更改后,必须要让selinux知道新的ssh端口,此处使用semanage命令。
  3. 需要注意的是,在最小化安装的CentOS中,semanage命令是缺失的,无法正常使用,必须先安装yum install policycoreutils-python。
  4. 使用semanage port -a -t ssh_port_t -p tcp 7251,执行此条命令之后,selinux就允许ssh监听7251端口了。
  5. 通过semanage port -l | grep ssh,检查这个selinux设置是否生效。
  6. 此时,默认的22的端口已经不需要了,尝试删除22的端口。semanage port -d -t ssh_port_t -p tcp 22,会提示失败,事实上,默认的端口是无法从selinux删除的。
  7. 接下来设置防火墙cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/,编辑/etc/firewalld/services/ssh.xml,把22端口改成7251.
  8. 重新加载下防火墙配置,firewall-cmd –reload。
  9. 接下来重启下systemctl start sshd.service。这样应该端口更换就成功了。
如何更改CentOS7的SSH端口

2 thoughts on “如何更改CentOS7的SSH端口

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注