当前位置: 首页 > news >正文

修改Linux上的ssh的默认端口号——及其客户端使用ssh连接不上Linux问题排查解决

一、需求描述

        Linux中默认的ssh端口号22是不安全的,很容易被黑客攻击利用,而修改ssh默认的端口是一个可以增加系统安全性的操作。

#查看ssh远程连接详细信息命令
ssh -v -p 22222  root@192.168.1.10

二、修改ssh默认端口号的操作流程

 2.1、先备份一份ssh的配置文件

#备份ssh的配置文件
cd /etc/ssh/
cp -p sshd_config sshd_config.bak

 2.2、编辑ssh的配置文件并重启

#编辑ssh的配置文件并修改端口号为22222#1-编辑ssh的配置文件并找到Port=22修改端口号为22222后输入:wq保存退出
vi /etc/ssh/sshd_config#2-重启sshd服务(若此时重启sshd服务失败,则可以先临时禁用selinux)
systemctl restart sshd.service#3-排查重启sshd服务故障是否是由于selinux引起的【即:先临时禁用selinux,然后在重启sshd服务即可判断是否是selinux的导致的(若临时禁用selinux后可以正常重启成功sshd服务,则表示是selinux引起的】
setenforce 0
getenforce
systemctl restart sshd.service#4-关于彻底解决sshd修改端口号后无法正常启动的方法,有两个方法
#4.1-方法一:新增 SELinux 策略以允许 sshd 在新端口上对tcp进行监听运行
yum install policycoreutils-python-utils
semanage port -a -t ssh_port_t -p tcp 22222#4.2-方法二:直接永久禁用selinux【即:编辑selinux的配置文件并将其中的SELINUX=enforcing修改为SELINUX=disabled保存退出】
vi /etc/selinux/config
reboot

注意:重启sshd服务会报错并无法重启sshd服务成功,并提示

Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xeu sshd.service" for details.

此时我们需要检查是否是selinux引起的,我们只用先临时禁用selinux,然后在重启sshd服务即可判断是否是selinux的导致的(若临时禁用selinux后可以正常重启成功sshd服务,则表示是selinux引起的),详细操作如下:

 2.3、selinux说明

selinux简介
SELinux(Security-Enhanced Linux)是Linux内核的一个模块,也是Linux的一个安全子系统。SELinux的实现了强制访问控制MAC(Mandatory Access Control ),每个进程和系统资源都有一个特殊的安全标签,资源能否被访问除了DAC规定的原则外,还需要判断每一类进程是否拥有对某一类资源的访问权限。

openEuler默认使用SELinux提升系统安全性。SELinux分为三种模式:

  • permissive:SELinux仅打印告警而不强制执行。
  • enforcing:SELinux安全策略被强制执行。
  • disabled:不加载SELinux安全策略。

2.4、检查防火墙并永久放开指定端口

        为了可以让外部的服务器可以通过ssh访问到该Linux,若Linux的防火墙已经开启则需要在防火墙上放开ssh配置的端口(如:22222),详细操作如下:

#查看防火墙状态并永久放开22222端口#1-查看防火墙状态
systemctl status firewalld#2-查看防火墙当前放开的所有端口
firewall-cmd --list-port#3-永久放开防火墙的22222端口
firewall-cmd --zone=public --add-port=22222/tcp --permanent#4-重载防火墙
firewall-cmd --reload#若是测试环境也可以直接关闭防火墙等测试完成后再开启
#关闭防火墙
systemctl stop firewalld.service#启用防火墙
systemctl start firewalld.service #临时禁用selinux
setenforce 0

三、其他问题解决

 3.1、SSH连接“The remote host closed the connection”问题解决

        OpenEuler使用ssh远程连接提示“The remote host closed the connection”或者是连接后1分钟左右没有操作就断开连接问题。

#解决【ssh远程连接成功后几十秒后就提示“The remote host closed the connection”断开连接问题】#方法一:查看当前是否有哪个程序占用了ssh的22端口(若有占用则修改ssh服务的默认22端口为其他的端口)
netstat -antlp | grep :22#方法二:查看Linux服务器中目前有多少个用户在连接(获取到Pid后可以使用【kill -9 pid】即可)
who
ps aux | grep sshd#方法三:将ssh的连接数量增大;修改sshd的服务配置文件中的最大连接数(即将【# MaxSessions 10】修改为【MaxSessions 15】)增大后重启sshd服务
vi /etc/ssh/sshd_config
systemctl restart sshd#方法四:连接Linux服务器时设置超时间隔(单位是:秒)你可以自行指定间隔时间;如果没有数据包从 SSH 客户端发送到 SSH 服务器,SSH 将向服务器发送加密请求以获取 TCP 响应【如:使用root用户连接192.168.1.10服务器且要每 30 秒发出一次该请求,请执行以下命令】
ssh -o ServerAliveInterval=30 -p 22222 root@192.168.1.10#方法五:连接Linux服务器的时候指定保持长连接。TCPKeepAlive:这使用 TCP/IP 协议的 KEEPALIVE 选项在指定的非活动时间间隔后保持连接处于活动状态。在大多数系统上,这意味着 2 小时。因此,通过将 TCPKeepAlive 选项传递给 SSH,SSH 客户端会向 SSH 服务器发送加密数据包,从而保持您的 TCP 连接正常运行。
ssh -o TCPKeepAlive=yes -p 22222 root@192.168.1.10

《1》修改sshd的服务配置文件中的最大连接数增大后重启sshd服务:

《2》查看Linux服务器中目前有多少个用户在连接(获取到Pid后可以使用【kill -9 pid】即可)

《3》将ssh的连接数量增大;修改sshd的服务配置文件中的最大连接数(即将【# MaxSessions 10】修改为【MaxSessions 15】)增大后重启sshd服务:

《4》连接Linux服务器时设置超时间隔(单位是:秒)你可以自行指定间隔时间;如果没有数据包从 SSH 客户端发送到 SSH 服务器,SSH 将向服务器发送加密请求以获取 TCP 响应【如:使用root用户连接192.168.1.10服务器且要每 30 秒发出一次该请求,请执行以下命令】

 3.2、SSH连接“OpenSSL version mismatch. Built against 30000070,you have 30200020”问题解决

        Linux的22端口无法连接上,SSH无法使用——OpenSSL version mismatch. Built against 30000070,you have 30200020问题,详细解决方法操作请参考如下链接:

Linux的22端口无法连接上,SSH无法使用——OpenSSL version mismatch. Built against 30000070,you have 30200020https://blog.csdn.net/xiaochenXIHUA/article/details/149150750

 3.3、SSH“连接Linux服务器慢登录时间长”问题解决

#解决SSH连接Linux服务器慢耗时较长问题解决方法#1-打开ssh的配置文件sshd_config
vi /etc/ssh/sshd_config#2-将ssh的配置文件sshd_config中的【#UseDNS no】修改为【UseDNS no】(这是因为ssh默认使用了dns反查,这样的话当ssh某个IP时,系统会试图通过DNS反查相对应的域名,如果DNS中没有这个IP的域名解析,则会等到DNS查询超时才会进行下一步,消耗很长时间)#3-将ssh的配置文件sshd_config中的【#GSSAPIAuthentication yes】修改为【GSSAPIAuthentication no】后保存退出#4-重启sshd服务
systemctl restart sshd

线上Linux服务器的优化设置、系统安全与网络安全策略https://blog.csdn.net/xiaochenXIHUA/article/details/149913938

http://www.dtcms.com/a/411264.html

相关文章:

  • 连接世界:网络请求 `wx.request`
  • 安徽省建设厅网站打不开批量导文章到wordpress
  • 用一个OneKey MCP把付费的AI Agent MCP的价格打下来 - DeepNLP OneKey MCP Agent Router项目
  • 绿算技术与清智图灵完成产品兼容性互认证
  • 成都微信网站开发黄骅贴吧
  • Redis监控告警体系搭建:使用Redis Exporter + Prometheus + Grafana
  • 制作网站价格不一wordpress 英文月份
  • 深入解析 Redis 单线程 IO 模型:从架构到多路复用技术
  • 【mysql】数据误删了? 关键时刻可以通过binlog挽救
  • MySQL核心操作:从插入到查询全解析
  • gRPC从0到1系列【1】
  • 网站建设电影WordPress发表心情
  • php做网站的优势网站建设方案的所属行业是
  • java-stream流
  • spiffs分区文件系统在esp idf的创建
  • php网站开发技术描述南昌seo网站排名
  • html5微网站做网站原型图软件
  • 86-python电网可视化项目-6
  • 长乐住房和城乡建设局网站wordpress文章页面
  • 技术拐点将至:AI 大模型的挑战突围与产业重构
  • 青海省住房和城乡建设部网站关键词排名优化软件价格
  • 图片做多的网站是哪个邢台移动网站设计
  • TypeScript 中避免使用 @ts-ignore 的最佳方案
  • 数据传输一致性保障:如何避免‘少数据’或‘脏数据’?
  • Product Hunt 每日热榜 | 2025-09-26
  • 北京公司网站建设定制全国十大装修公司最有名的是
  • 鸿蒙开发入门经验分享:从零开始构建自己的HarmonyOS应用(ArkTS)
  • 解锁安全新维度:Cybersecurity AI (CAI) 助力提升网络安全效率!
  • FastAPI WebSocket 由浅入深的开发范例
  • 义乌免费做网站怎么创业呢白手起家