SSH登录验证成功后,您将看到以下消息:
Last login: Mon Jul 29 23:08:52 2019 from xxx.xxx.xxx.xxx. Last failed login: Sun Jul 21 22:02:31 2019 from xxx.xxx.xxx.xxx on ssh:notty There were 15922 failed login attempts since the last successful login.
服务器的默认SSH端口是22,有许多人会尝试暴力破解我们的SSH密码,所以我们有必要更改默认的SSH端口。
一、添加SSH端口(以2019端口为例)
1.修改etc/ssh/sshd_config文件1.修改etc/ssh/sshd_config文件
vim /etc/ssh/sshd_config
在Port 22后增加一行
Port 2019
若Port 22 前有#号,则删去该#号以防止悲剧发生(翻车)。敲esc后输入:wq敲回车保存退出。
2.安装semanage
在上面的文件中,我们可以看到这样的注释:
# If you want to change the port on a SELinux system, system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
所以我们需要告诉SELinux对端口进行的修改
yum provides semanage yum install policycoreutils-python
添加2019端口
semanage port -a -t ssh_port_t -p tcp 2019
检查是否添加成功
semanage port -l | grep ssh
返回值包含2019说明添加成功
3.配置FirewallD火墙
检查firewalld状态
firewall-cmd --state
已启用返回值为running,若未安装该命令则输入以下命令安装
yum install firewalld
启动服务
systemctl start firewalld.service
添加开机自动启动
systemctl enable firewalld.service
4.查看防火墙默认活动区域
firewall-cmd --get-default-zone
返回值应包含public
5. 永久开放2019端口
firewall-cmd --permanent --zone=public --add-port=2019/tcp
防止翻车,22端口一同开放
firewall-cmd --permanent --zone=public --add-port=22/tcp
防火墙重载
firewall-cmd --reload
查看已暴露端口
firewall-cmd --permanent --list-port firewall-cmd --zone=public --list-all
返回值均应包含2019和22端口
6.重启SSH
systemctl restart sshd.service
然后使用SSH工具用2019端口连接,查看2019端口是否可以连接成功
二、关闭22端口
1.删除SSH运行端口
vim /etc/ssh/sshd_config
在Port 22前加一个#号后保存退出
2.在防火墙中将22端口移除
firewall-cmd --permanent --zone=public --remove-port=22/tcp
重载防火墙查看是否移除
firewall-cmd --reload firewall-cmd --permanent --list-port
返回值没有22,则说明删除成功
三、重启服务器
reboot
尝试使用22端口登录,已无法连接则大功告成!
参考内容:
Centos7.X下修改SSH默认22端口
CentOS 7 中firewall-cmd命令
- 本文固定链接: https://weiguangli.com/archives/315
- 转载请注明: lwg0452 于 Weiguang的博客 发表
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!