CentOS7增加或修改SSH端口号

Stella981
• 阅读 677

https://blog.csdn.net/ausboyue/article/details/53691953

前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手。如果使用阿里云,腾讯等第三方服务器还需要对管理控制台的安全组下手。

下面进入主题,如果有什么问题请查看下面的补充栏:

第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)

[plain] view plain copy

  1. vim /etc/ssh/sshd_config

  

找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成:

Port 22

Port 10086

SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。

Ok,继续,我增加了10086端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。

第二步:如果你关闭了SELinux****,可以忽略第二步。

先查看SELinux开放给ssh使用的端口

[plain] view plain copy

  1. semanage port -l|grep ssh

  

我的系统打印如下:

ssh_port_t                    tcp      22

可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:

[plain] view plain copy

  1. semanage port -a -t ssh_port_t -p tcp 10086

  

完成后,再次查看

[plain] view plain copy

  1. semanage port -l|grep ssh

  

ssh_port_t                    tcp      22,10086

第三步:如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。

先查看防火墙是否开启了10086端口:

[plain] view plain copy

  1. firewall-cmd --permanent--query-port=10086/tcp

  

打印结果如下:

no

表示没有开放10086端口,那么添加下该端口:

[plain] view plain copy

  1. firewall-cmd --permanent--add-port=10086/tcp

  

打印结果如下:

success

重新加载防火墙策略:

[plain] view plain copy

  1. firewall-cmd --reload

  

执行成功后,查看10086端口是否被开启:

[plain] view plain copy

  1. firewall-cmd --permanent--query-port=10086/tcp

  

打印结果如下:

yes

第四步:重启SSH服务和防火墙,最好也重启下服务器

[plain] view plain copy

  1. systemctl restart sshd  
  2. systemctl restart firewalld.service  
  3. shutdown -r now

  

第五步:尝试通过10086端口登录SSH,或者进入该服务器直接本地访问SSH如下:

[plain] view plain copy

  1. ssh root@localhost -p 10086

  

如果成功,说明10086已经完全可以使用了,接下来你就可以根据上述步骤把sshd_config的Port22注释掉,SELinux和防火墙(Firewalld关闭22端口就OK,大工造成!

以下2017.11.27 补充更新--------->

第六步:修改第三方服务器安全组策略。如果没有第三方服务器,上述已经完成了本文的目标,可以忽略第六步。下面直接上阿里云的示例图:

CentOS7增加或修改SSH端口号

补充栏-----------------------------------------------------------------------------

1.查看某端口是否被占用,以10086为例:

[plain] view plain copy

  1. netstat -lnp|grep 10086

  

如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。

2.查看是否开启了SELinux

[plain] view plain copy

  1. sestatus -v

  

如果输出结果为:

SELinux status:                 disabled

说明有打开,可以通过修改SELinux的配置开启或关闭它:

[plain] view plain copy

  1. vim /etc/selinux/config

  

找到:

SELINUX=disabled

修改成:

SELINUX=enforcing

重启一下,就OK。

3.semanage命令无法使用,或说找不到该命令。说明没有配置该命令,可以进行以下命令进行安装:

[plain] view plain copy

  1. yum -y installpolicycoreutils-python-2.5-9.el7.x86_64

  

关于它的依赖库我就不作赘述,可以百度下更全面的安装semanage教程。

4.CentOS7防火墙改为firewalld了,而不是iptables,对应的命令也请百度下,这里不作赘述。

本文同步分享在 博客“lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这