目前大家普遍认为服务器的SSH默认的22号端口是非常危险的,因为会被黑客各种扫描尝试。
所以需要将默认的22号端口进行修改。但CentOS7的修改同以前有区别,需要特别说明。
首先需要说明的是,修改端口并不是最好的解决方案,因为现在黑客的攻击方式很多已经不是盲目扫描,而是针对端口扫描,所以不能根本解决问题,若要根本解决,需要采用证书登录,避免使用密码。
Step 1
先备份你的旧配置。cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Step 2
修改端口配置文件。例如改为2244端口vi /etc/ssh/sshd_config
1
2
3
4
5
6
7
8# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 2244
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
Step 3
添加SELinux的SSH端口semanage port -a -t ssh_port_t -p tcp 2244
如果提示找不到semanage,执行yum -y install policycoreutils-python
查看是否启用了semanagesestatus
Step 4
添加防火墙规则1
2firewall-cmd --permanent --zone=public --add-port=2244/tcp
firewall-cmd --reload
Step 5
重启SSH服务systemctl restart sshd.service
Done.
进阶:禁止使用密码登录,转而使用证书登录
没有配置证书的,请先参看另一篇文章:SSH免密登录-使用public_key登录
Step 1
修改配置文件vi /etc/ssh/sshd_config
1
2
3
4PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
Step 2
重启服务service sshd reload
Done.
从此世界清静了。