欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

CentOS 7.0 更改SSH 远程连接 端口号

程序员文章站 2024-01-05 23:21:40
许多学习过redhat 7的同学们,在使用centos的时候总会遇到一些问题,因为centos在安装时会默认开启一些服务,今天我们就来更改下centos 7.0的SSH端口。 操作步骤: 远程登录到centos 7.0终端; 修改 /etc/ssh 文件夹中的 sshd_config文件 在文件中找 ......

许多学习过redhat 7的同学们,在使用centos的时候总会遇到一些问题,因为centos在安装时会默认开启一些服务,今天我们就来更改下centos 7.0的ssh端口。

操作步骤:

CentOS 7.0 更改SSH 远程连接 端口号

远程登录到centos 7.0终端;

CentOS 7.0 更改SSH 远程连接 端口号

修改 /etc/ssh 文件夹中的 sshd_config文件

CentOS 7.0 更改SSH 远程连接 端口号

在文件中找到#port 22这一行

CentOS 7.0 更改SSH 远程连接 端口号

删除#port 22 前面的#号,使用默认的22端口
增加一行port 3333,为ssh服务增加3333端口
(如需更多端口,按此格式逐行添加即可,如果只是把默认22端口修改为3333端口,那就删除port 22这一行,添加port 3333即可)

CentOS 7.0 更改SSH 远程连接 端口号

保存文件后,使用

systemctl restart sshd.service

重启sshd服务

(redhat 7.0 此时就可以收工了)

 

 

CentOS 7.0 更改SSH 远程连接 端口号

使用3333端口连接发现,并不能连接终端设备,而且部分版本的centos(比如centos7.4)在重启sshd服务时会有这样一个报错信息

job for sshd.service failed because the control process exited with error code.
see “systemctl status sshd.service” and “journalctl -xe” for details.

CentOS 7.0 更改SSH 远程连接 端口号

使用

systemctl status sshd.service

命令查看sshd状态时发现,3333端口绑定失败,没有生效,提示查看selinux服务

CentOS 7.0 更改SSH 远程连接 端口号

使用

/usr/sbin/sestatus -v

命令,查看selinux服务状态,发现状态为已开启

CentOS 7.0 更改SSH 远程连接 端口号

然后我们再使用

semanage port -l | grep ssh

命令查看当前ssh服务的端口,发现只有22端口并没有我们刚刚添加的3333端口

CentOS 7.0 更改SSH 远程连接 端口号

这时我们需要使用

semanage port -a -t ssh_port_t -p tcp 3333

命令向 selinux 中添加 ssh 端口
再次使用

semanage port -l | grep ssh

命令查看当前ssh服务的端口,发现3333端口已经添加成功

CentOS 7.0 更改SSH 远程连接 端口号

这个时候我们使用

systemctl status sshd.service

命令,发现此时3333端口已经在侦听状态。

到此时我们的工作还没有结束,部分忍不住的同学,已经去使用ssh远程了,发现还是连接不上,那是因为默认启用的firwall阻止了3333端口的连接。

CentOS 7.0 更改SSH 远程连接 端口号

使用

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连接被例外

CentOS 7.0 更改SSH 远程连接 端口号

这个时候再使用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     //删除端口号

上一篇:

下一篇: