上一篇 下一篇 分享链接 返回 返回顶部

Linux SSH远程端口修改

发布人:HKGserver 发布时间:2025-04-23 12:00 阅读量:326

Linux SSH端口修改及故障排除

摘要

Linux更改SSH端口,连接拒绝或防火墙设置错误。

引言

SSH(Secure Shell)是一种加密网络协议,用于远程连接和管理网络设备。更改SSH端口是提高系统安全性的一种方式,因为默认端口22可能成为攻击目标。您可以在HKGserver下单时选择随机端口以提高安全性

一、编辑SSH配置文件

要更改SSH端口,首先需要编辑SSH配置文件sshd_config。您可以使用以下命令打开配置文件:

 
 
vim /etc/ssh/sshd_config

为了防止编辑错误,建议在编辑之前备份配置文件:

 
 
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

修改端口号为你想要使用的新端口号。请注意,端口号应在范围 1-65535 内,且不能与其他已使用的端口冲突。 我们进入需要输入 i 进入编辑状态,如上图修改好之后;按 esc 后输入 :wq 即可保存退出; 保存文件并退出编辑器。

编辑完成后,记得重新启动SSH服务:

 
 
systemctl restart sshd

到这里没问题的就成功了;

解决SELinux拒绝问题
 
 
Job for sshd.service failed because the control process exited with error code.See "systemctI status sshd.service" and "journalctI -xe" for details.

在重启SSH服务时(systemctl restart sshd),可能会遇到SELinux拒绝访问的问题。您可以暂时关闭SELinux以解决此问题:

 
 
setenforce 0

不过,关闭SELinux会降低系统的安全性。我们在执行完整体 systemctl restart sshd 后记得打开SELinux;不然后面也会报错

 
 
sudo systemctl start firewalld

二、调整防火墙设置

有的服务需要开启端口,防火墙开启的情况下;如果是阿里云服务器之类的还需要在设置中打开对应的端口; 更改SSH端口后,需要相应地调整防火墙设置,以确保新端口的可访问性。

查看开放端口

您可以使用以下命令查看当前开放的端口:

 
 
firewall-cmd --list-ports
添加新端口

假设您的新SSH端口为2022,您可以使用以下命令添加新端口:

 
 
sudo firewall-cmd --zone=public --add-port=2022/tcp --permanent
重新加载防火墙

为使更改生效,需要重新加载防火墙配置:

 
 
firewall-cmd --reload

如果意外地添加了错误的端口,可以使用以下命令删除:(执行下面后也要重新执行加载:firewall-cmd --reload)

 
 
firewall-cmd --permanent --remove-port=2022/tcp

小结

通过本文,您学习了如何更改SSH端口,并解决了可能出现的SELinux和防火墙问题。正确地配置SSH端口和相关安全设置对于维护系统的安全性至关重要。记得在操作前备份配置文件,以防意外发生。

表格总结

步骤

命令

打开SSH配置文件

vim /etc/ssh/sshd_config

备份配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

重启SSH服务

systemctl restart sshd

关闭SELinux

setenforce 0

重启防火墙

sudo systemctl start firewalld

查看开放端口

firewall-cmd --list-ports

添加新端口

sudo firewall-cmd --zone=public --add-port=2022/tcp --permanent

重新加载防火墙

firewall-cmd --reload

删除错误端口

firewall-cmd --permanent --remove-port=2022/tcp

 

目录结构
全文