前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7.x下更改SSH的默认端口

Centos7.x下更改SSH的默认端口

作者头像
用户1153097
发布2018-06-28 14:27:38
1.5K0
发布2018-06-28 14:27:38
举报
文章被收录于专栏:鸡蛋君

Centos7.x下更改SSH的默认端口

Centos7与之前的版本最大的不同,在于Centos6和之前的版本使用的iptables,而Centos7版本以及未来以后的版本则默认使用 FirewallD。

鉴于Centos7的趋势化,收集并学习如何在Centos7下更改SSH默认22端口。

FirewallD 简介

FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

  1. FirewallD 使用区域和服务而不是链式规则。
  2. 它动态管理规则集,允许更新规则而不破坏现有会话和连接。

更多了解可以去Linux中国网站查看:https://linux.cn/

修改shhd_config

代码语言:javascript
复制
vi etc/ssh/sshd_config

在增加Port端口1024保存之后

代码语言:javascript
复制
systemctl restart sshd

如果看不太懂这里,可以看我这篇文章:防止暴力破解,请更换SSH默认端口 ## 增加SElinux端口 在Centos7系统更改shhd_config的过程中,你会看到这段注释:

# 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

所以,下一步就是告诉SElinux这步操作,我们需要用到semanage

首先,我们安装下semanage

代码语言:javascript
复制
yum provides semanage
yum -y install policycoreutils-python

添加新端口1024

代码语言:javascript
复制
semanage port -a -t ssh_port_t -p tcp 1024

检测是否成功

代码语言:javascript
复制
semanage port -l | grep ssh

当返回值出现1024和22即为成功。 ## 配置防火墙FirewallD 首先检测防火墙是否已经启用,启用返回值runing,反之,为not running

代码语言:javascript
复制
firewall-cmd --state

若没有启用,需要启用

代码语言:javascript
复制
systemctl start firewalld
systemctl enable firewalld

若已经启用,则进行下一步

查看防火墙的默认、活跃区域(zones)

代码语言:javascript
复制
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones

看两条命令的返回值是否含有public,有则为正确。

端口永久开放

为了防止出错,22端口一同开放

与临时开放的区别在于多了permanent

代码语言:javascript
复制
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=1024/tcp

防火墙重载

代码语言:javascript
复制
firewall-cmd --reload

查看已暴露端口

代码语言:javascript
复制
firewall-cmd --permanent --list-port
firewall-cmd --zone=public --list-all

重启SSH

代码语言:javascript
复制
systemctl restart sshd.service

之后用Putty、Xshell之类的软件换成1024端口登录,看能否成功登录。 ## 禁用22端口 首先,删除ssh运行端口

代码语言:javascript
复制
vi etc/ssh/sshd_config

在Port 22前加#成为#Port 22后保存退出即可 在把防火墙中的22端口移除

代码语言:javascript
复制
firewall-cmd --permanent --zone=public --remove-port=22/tcp

重启并查看是否移除

代码语言:javascript
复制
firewall-cmd --reload
firewall-cmd --permanent --list-port

若移除,则成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Centos7.x下更改SSH的默认端口
    • FirewallD 简介
      • 修改shhd_config
        • 查看防火墙的默认、活跃区域(zones)
          • 端口永久开放
            • 重启SSH
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档