许多学习过redhat 7的同窗们,在使用centos的时候总会遇到一些问题,由于centos在安装时会默认开启一些服务,今天咱们就来更改下centos 7.0的SSH端口。centos
操做步骤:ssh
远程登陆到centos 7.0终端;tcp
修改 /etc/ssh 文件夹中的 sshd_config文件学习
在文件中找到#Port 22这一行centos7
删除#Port 22 前面的#号,使用默认的22端口
增长一行Port 3333,为SSH服务增长3333端口
(如需更多端口,按此格式逐行添加便可,若是只是把默认22端口修改成3333端口,那就删除Port 22这一行,添加Port 3333便可)3d
保存文件后,使用rest
systemctl restart sshd.service
重启sshd服务code
(redhat 7.0 此时就能够收工了)blog
使用3333端口链接发现,并不能链接终端设备,并且部分版本的centos(好比centos7.4)在重启sshd服务时会有这样一个报错信息rem
Job for sshd.service failed because the control process exited with error code.
See “systemctl status sshd.service” and “journalctl -xe” for details.
使用
systemctl status sshd.service
命令查看sshd状态时发现,3333端口绑定失败,没有生效,提示查看SELinux服务
使用
/usr/sbin/sestatus -v
命令,查看SELinux服务状态,发现状态为已开启
而后咱们再使用
semanage port -l | grep ssh
命令查看当前ssh服务的端口,发现只有22端口并无咱们刚刚添加的3333端口
这时咱们须要使用
semanage port -a -t ssh_port_t -p tcp 3333
命令向 SELinux 中添加 ssh 端口
再次使用
semanage port -l | grep ssh
命令查看当前ssh服务的端口,发现3333端口已经添加成功
这个时候咱们使用
systemctl status sshd.service
命令,发现此时3333端口已经在侦听状态。
到此时咱们的工做尚未结束,部分忍不住的同窗,已经去使用SSH远程了,发现仍是链接不上,那是由于默认启用的firwall阻止了3333端口的链接。
使用
firewall-cmd –list-all
命令看到,在ports一行中没有刚刚咱们添加的3333,
这个时候咱们须要使用
firewall-cmd –zone=public –add-port=3333/tcp –permanent
命令,将端口号添加到防火墙的例外规则中
(–permanent永久生效,没有此参数重启后失效)
添加完规则后,须要对防火墙重启载入使其规则生效,
firewall-cmd –reload
再次使用
firewall-cmd –list-all
命令发如今ports中已经多了一个端口3333tcp链接被例外
这个时候再使用3333端口进行远程链接,即可成功登录系统。
到此时,整个过程完成!
打完收工!
备注:
/usr/sbin/sestatus -v //查看SELinux状态 semanage port -l | grep ssh //查询当前 ssh 服务端口 semanage port -a -t ssh_port_t -p tcp 3333 //向 SELinux 中添加 ssh 端口 systemctl restart sshd.service //重启ssh服务 firewall-cmd –list-all //查看防火墙列表 firewall-cmd –zone=public –list-ports //查看全部打开的端口 firewall-cmd –zone=public –add-port=3333/tcp –permanent //添加端口号(–permanent永久生效,没有此参数重启后失效) firewall-cmd –reload //从新载入防火墙 firewall-cmd –zone= public –query-port=3333/tcp //查看该端口是否在规则内 firewall-cmd –zone= public –remove-port=3333/tcp –permanent //删除端口号