Centos 7 SSh--端口号的更改
前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),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,对应的命令也请百度下,这里不作赘述。
最新文章
- 【HDU 5438】Ponds
- 【转】UVa Problem 100 The 3n+1 problem (3n+1 问题)——(离线计算)
- java集合类(四)About Set
- POJ2301+水~~~~~~
- LREM key count value
- zepto源码研究 - ajax.js($.ajaxJSONP 的分析)
- 关于文件上传的ajax交互
- grails项目中(DB的相关操作)
- github上传时出现error: src refspec master does not match any解决办法
- Filter过滤器 不登陆无法访问其他页面
- dpr,ppi,dip,viewport的一些概念
- antd card 组件实现鼠标移入移出效果
- 2.WF 4.5 流程引擎设计思路
- ContextLoaderListener可以不写嘛?
- WPF显示图片
- js中变量提升(一个是变量,一个是函数表达式都会存在变量提升,函数声明不存在)
- 2.启动MySql服务
- Java Nashorn--Part 4
- python 字符串格式化,使用f前缀
- R基本介绍
热门文章
- LinkedList,ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
- OpenCV学习笔记(5)——颜色空间转换
- spring BeanUtils.copyProperties只拷贝不为null的属性
- 使用ViewPager实现广告自动轮播的效果
- opensatck误删除service项目
- 操作MySQL出错提示“BLOB/TEXT column request_data in key specification without a key length”解决办法
- linux(centOS7)的基本操作(四) 定时任务——crontab
- IE浏览器兼容问题(unset不生效)
- 使用boost库获取文件夹下所有文件名字
- USACO3.3 A Game【区间dp】