0%

centos 7 更改 SSH 连接的端口

SSH 连接的默认端口本来是 22,因为有默认端口,所以时长会给人恶意尝试破解,一不小心用了简单的密码,很容易就被破解了(我的一台 HK Server 就是这样被当肉鸡了),一般的做法就是免密登录,但是有时候需要从别人的电脑连接回去 Server,这样我又想密码登录,最后我还是换个端口,这不是最终的解决办法,但是可以有效避免了很多攻击。

centos 7 更改 SSH 端口

step 1. 修改 /etc/ssh.sshd_config

1
2
3
4
5
vi /etc/ssh/sshd_config

#Port 22 //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉

Port 26884 //下面添加这一行

step 2. 修改 FireWall 配置

  1. firewall添加想要修改的ssh端口:

    1
    2
    firewall-cmd –zone=public –add-port=20000/tcp –permanent
    (permanent是保存配置,不然下次重启以后这次修改无效)
  2. reload firewall

    1
    firewall-cmd –reload
  1. 查看添加端口是否成功,如果添加成功则会显示yes,否则no

    1
    firewall-cmd –zone=public –query-port=26884/tcp

step 3. 修改 SELinux

  1. 使用以下命令查看当前SElinux 允许的ssh端口:

    1
    semanage port -l | grep ssh
  1. 添加20000端口到 SELinux

    1
    semanage port -a -t ssh_port_t -p tcp 20000
  1. 然后确认一下是否添加进去

    1
    semanage port -l | grep ssh
  1. 如果成功会输出

    1
    ssh_port_t tcp 20000, 22

    若 显示 semanage not found
    参考 https://gist.github.com/mirekchk/668f8758d64b79e7268c0126e2052f8b
    即安装 yum install policycoreutils-python

step 4. 重启 ssh

systemctl restart sshd.service

参考:http://www.yaosansi.com/post/change-ssh-port-on-centos/