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

下面进入主题,如果有什么问题请查看下面的补充栏:
第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)

 vim /etc/ssh/sshd_config

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

Port 22
Port 10086

SH默认监听端口就是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。
Ok,继续,我增加了10086端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。

第二步:如果你关闭了SELinux,可以忽略第二步。
先查看SELinux开放给ssh使用的端口

semanage port -l|grep ssh
如果提示:-bash: semanage: command not found,表示没有安装semanage
安装yum -y install policycoreutils-python.x86_64

我的系统打印如下:

[root@izwz98nqtxax20v9gcwk1tz ~]# semanage port -l|grep ssh
ssh_port_t tcp 22

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

semanage port -a -t ssh_port_t -p tcp 10086 

完成后,再次查看

semanage port -l|grep ssh  

[root@izwz98nqtxax20v9gcwk1tz ~]# semanage port -l|grep ssh
ssh_port_t tcp 22,10086

如果确认在配置文件中添加了和开放了端口,执行上一步未显示的话无需在意

第三步:如果你关闭了防火墙,可以忽略第三步(不开防火墙会很危险,建议开启)

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

firewall-cmd --zone=public --query-port=10086/tcp

打印结果如下:

no

表示没有开放端口,这就要添加端口

firewall-cmd --zone=public --add-port=10086/tcp --permanent 

打印结果:
success

重新加载防火墙策略:

firewall-cmd --reload 

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

systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now

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

ssh root@localhost -p 10086  

如果成功,说明10086已经完全可以使用了,接下来你就可以根据上述步骤sshd_config Port22注释掉,SELinux和防火墙(Firewalld)关闭22端口就OK,大工造成!
第六步:修改第三方服务器安全组策略。如果没有第三方服务器,上述已经完成了本文的目标,可以忽略第六步。下面直接上阿里云的示例图:

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

netstat -lnp|grep 10086

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

netstat -ntlp

查看是否开启了SELinux

sestatus -v

如果输出结果为:

SELinux status: disabled

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

vim /etc/selinux/config 
找到:
SELINUX=disabled
修改成:
SELINUX= enforcing
重启一下,就OK。

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

yum -y install policycoreutils-python.x86_64

关于它的依赖库我就不作赘述,可以百度下更全面的安装semanage教程。
CentOS7防火墙改为firewalld了,而不是iptables,对应的命令也请百度下,这里不作赘述。 

Centos 7 SSh--端口号的更改的更多相关文章

  1. CentOS修改SSH端口号和禁止root用户直接登录

    linux安装ssh远程登录后,为了安全起见,修改默认的22端口号并禁止root用户直接通过ssh登录. 配置方法如下: 1.使用vi编辑器打开ssh配置文件 /etc/ssh/sshd_config ...

  2. Ubuntu以及CentOS7修改ssh端口号详细步骤

    1.Ubuntu修改ssh端口号步骤: 1.修改sshd.config文件.执行vim etc/ssh/sshd_config.增加上我们需要增加的ssh的端口号.图例增加了5309的端口号. ESC ...

  3. centos修改SSH端口并禁用root远程登录

    1.使用 root 用户执行以下步骤:只在 CentOS 6.5 下验证. 2.先查看下服务器端口号范围: # sysctl -a|grep ip_local_port_range 3.修改端口 vi ...

  4. 如何修改配置文件:CentOS下SSH端口修改

    CentOS各发行版中SSH端口默认为22,如果正式做站或其它用途,为了提高安全性就需要修改掉默认的SSH端口号,防止被有心人穷举密码.部分VPS提供商,若您的VPS服务器SSH遭受多次的暴力破解,可 ...

  5. centos 修改ssh端口,以支持vsftp

    vi /etc/ssh/sshd_config Port 22 Port 2225执行/etc/init.d/sshd restart   启动SSH服务,这样SSH端口将同时工作与22和2225上. ...

  6. centos修改ssh端口

    1.编辑防火墙配置:vi /etc/sysconfig/iptables防火墙增加新端口2222-A INPUT -m state --state NEW -m tcp -p tcp --dport ...

  7. CentOS 7 修改SSH端口号 和 ssh无法使用密码登录 和 查看pid 端口占用

    如下示例把SSH默认端口22改为122. 1 修改/etc/ssh/sshd_config文件 #Port #找到改行,如果还想继续使用该端口,可以把#去掉,如果使用新端口,可以默认不管 Port # ...

  8. Linux下rsync增加SSH端口号的用法

    rsync默认使用SSH的22号端口,为了安全起见,很多机器更改了SSH默认的端口号,对应rsync命令的用法为: rsync -e 'ssh -p 1234' username@hostname:S ...

  9. git ssh端口号变更之后所需要的修改

    假设原本的repository地址为:git@gitlab.cjx.com:jinxin/project2.git 端口变更之后,需要调整为:ssh://git@gitlab.cjx.com:PORT ...

  10. CentOS7.6新增或修改SSH端口号的步骤

    1.修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d) vim /etc/ssh/sshd_config 找到"#Port 22",这一行直接键 ...

随机推荐

  1. 全面解读php-流程控制

    一.PHP遍历数组的三种方式 示例: $arr = [1, 2, 3 4, 'five' => 5]; 1.for ()  for循环只能用于遍历纯索引数组!如果存在关联数组,count统计时会 ...

  2. DeepFaceLab:视频中有多人,仅替换特定人脸的方法!

    DeepFaceLab自带的视频素材,一个是钢铁侠托尼斯塔克,一个是变形金刚男主角山姆.每一个视频中只有一个人.所以当你第一次玩的时候很顺畅,什么都不用管,一步一步按教程来就好好了. ​ 直到有一天你 ...

  3. 读取位置 0xcccccccc 时发生访问冲突

    XXXXX.exe 中的 0x1004eec2 处有未经处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突 DEBUG模式下总是出现此错误,改为Release模式,错 ...

  4. zookeeper源码分析:选举流程和请求处理

    集群启动: QuorumPeerMain. runFromConfig() quorumPeer.start(); loadDataBase(); cnxnFactory.start();       ...

  5. 阶段3 2.Spring_10.Spring中事务控制_1 基于XML的AOP实现事务控制

    新建项目 首先把依赖复制进来 aop必须引入.aspectjweaver 复制src下的所有内容 复制到我们的新项目里面 factory文件夹删掉 删除后测试类必然就报错 配置文件 beanFacto ...

  6. abap seach help 搜索帮助

    ABAP 的搜索帮助有很多种方法,掌握下面的几种基本差不多了 *&--------------------------------------------------------------- ...

  7. CSS元素隐藏

    { display: none; /* 不占据空间,无法点击 */ } /*************************************************************** ...

  8. WebLogic下Argument(s) "type" can't be null.

    启动项目出现Argument(s) "type" can't be null.异常.异常如下: java.lang.IllegalArgumentException: Argume ...

  9. python基础--面向对象之封装

    # 在python中用双下划线,开头的方式将属性隐藏起来(设置成私有的) # 但其实这只是一种变形操作,而且仅仅在类定义阶段会发生变形 # 类中所有双下划线开头的如__x都会在类定义的时候自动形成:_ ...

  10. break和continue关键字的使用

    一,break和continue关键字的使用 public class BreakContinueTest { public static void main(String args[]) { for ...