安全加固指南:如何更改 SSH 服务器的默认端口号

news2025/1/20 10:51:05

        在 Linux 系统中修改 SSH 服务的默认端口号是一项重要的安全措施,它可以帮助增强系统的安全性。这个过程相对简单,但必须由具有管理员权限的用户来执行。下面,我将向大家介绍如何安全地更改 SSH 端口的具体步骤。

1 备份 SSH 配置文件

        在修改之前,建议先备份原始的 SSH 配置文件,以防出现问题可以恢复。

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

2 编辑 SSH 配置文件

        使用文本编辑器(如 `nano` 或 `vi`)打开 `/etc/ssh/sshd_config` 文件。

sudo vim /etc/ssh/sshd_config

        在文件中找到有关端口号的行,默认情况下,这行可能会被注释掉(以 `#` 开头),并显示为 `#Port 22`,如下图所示

3 更改端口号

        将这行的 `#` 去掉,并将 `22` 更改为您想要设置的新端口号,例如,将端口号改为 `2222`,如下图所示


 确保选择的端口号没有被其他服务使用,并且是大于 1024 的非保留端口。

4 保存并关闭文件

        保存更改并关闭编辑器。

     (1)如果使用的是 `nano`,可以按 `Ctrl + O`,然后按 `Enter` 保存,最后按 `Ctrl + X` 退出。
     (2)如果使用的是 `vim`,可以按 `ESC`,然后按 `:wq` 保存退出。

5 重启 SSH 服务

        为了使更改生效,需要重启 SSH 服务,可以通过以下命令完成

sudo systemctl status sshd.service

重启后如果发现报下面错误

6 检查防火墙状态

        排查一下,看看防火墙是不是开着呢,一看还真开着呢

那就放行2222端口,执行下面命令

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

重载防火墙,使更改内容生效

sudo firewall-cmd --reload

再次重启ssh服务,仍然重启失败,查看ssh日志发现以下问题

journalctl -xeu sshd.service

7 检查 SELinux 策略

        这一步很重要,很容易被大家忽略!!!

        如果你的系统使用 SELinux,检查 SELinux 策略是否允许 sshd 在端口 2222 上监听,你可以暂时关闭 SELinux 以测试是否是 SELinux 导致的问题

sudo setenforce 0

        然后尝试重启 sshd 服务,如果服务成功启动,则表示是SELinux策略导致的问题,这时你就得调整一下 SELinux 策略了(请记得在测试后重新启用 SELinux)。

sudo setenforce 1

更改 SELinux 策略以允许 SSHD 在新端口上监听

        你需要创建一个新的 SELinux 策略,允许 SSHD 在端口 2222 上监听。

        首先,安装 policycoreutils-python-utils(或 policycoreutils-python,取决于你的发行版)

sudo yum install policycoreutils-python-utils

然后,添加一个新的策略规则

sudo semanage port -a -t ssh_port_t -p tcp 2222

        这将允许 SSHD 服务在 TCP 端口 2222 上运行

重新启动 SSHD 服务并重新启用 SELinux

        在修改 SELinux 策略后,重新启动 SSHD 服务

sudo systemctl restart sshd

然后,重新启用 SELinux 强制模式

sudo setenforce 1

检查 SELinux 状态和日志

getenforce

        从输出来看,SELinux 当前处于 "Enforcing" 模式,这意味着 SELinux 的安全策略正在被强制执行,在这种模式下,任何违反策略的行为都将被拒绝,并且相应的违规行为会被记录下来。

        注意:SELinux 是一个强大的安全工具,它可以防止许多类型的漏洞和攻击。因此,不建议永久禁用 SELinux。

检查端口 2222 是否已经正确地被分配给了 SSH

sudo semanage port -l | grep ssh_port_t

稳妥起见,再重启ssh测试一下,如下图所示没有问题了

8 测试新配置是否生效

        在关闭当前 SSH 会话之前,打开一个新的终端窗口或 SSH 客户端,尝试使用新的端口号连接到服务器,以确保一切正常。

ssh -p 2222 username@your-server-ip

        

        请注意,在进行此类更改时,如果您失去了与服务器的连接,或者新的端口号因某种原因不起作用,可能会导致您无法通过 SSH 访问服务器,操作需谨慎。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1348013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年年度总结,一个小白的CSDN涨粉历程

前言 滚滚长江东逝水,一去不复返。 转眼间已到2024年节点,时间如滚滚长江水向东奔流不息,在长江消失之前,都不会停歇,也不会回头。人亦如此,不管是生活还是学习,都是不断往前走的过程&#xff…

Java基础语法(cmd,jdk的安装,配置环境变量,jre和jdk)

文章目录 注意:day01 - Java基础语法1. 人机交互1.1 什么是cmd?1.2 如何打开CMD窗口?1.3 常用CMD命令1.4 CMD练习1.5 环境变量 2. Java概述1.1 Java是什么?1.2下载和安装1.2.1 下载1.2.2 安装1.2.3 JDK的安装目录介绍 1.3 HelloWo…

初始SpringBoot:详解特性和结构

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、SpringBoot…

人大金仓数据库与mysql比较

简介 人大金仓数据库是基于 PostgreSQL 开发的。 SQL语言 语法 关键字 KES: MYSQL: 语句 *特性MYSQLKES字符串字面量单引号()或 双引号(")十六进制字面量0x5461626c65,X5461626c65/BIT字面量b1000001,0b1000001/Boolean字面量常…

异常检测 | Matlab基于GNN图神经网络的异常数据检测

异常检测 | Matlab基于GNN图神经网络的异常数据检测 目录 异常检测 | Matlab基于GNN图神经网络的异常数据检测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 Matlab基于GNN图神经网络的异常数据检测。其核心思想是学习一个函数映射。本次使用人类活动数据&#…

04 HAL库下使用定时器产生一个中断

目录 一、定时器的相关知识点 1.定时器的定义 2. 查看时钟配置 3. 定时器的分类 二、实验开始 1. 配置一个定时器 2.打开定时器的中断配置 引言 在本文的开头我想给大家分享一下单片机工作的两种工作模式轮询和中断(异步), 中断也叫做…

元旦小礼品:想去面试的时候如何快速打造自己的面试亮点

新年快乐! 对于毕业生,或者工作时间不太长的同学来说,面试实习之前写简历是一件很痛苦的事情,特别是简历上没什么亮点,总感觉很心虚。这时候就会发现很多人凡是知道的,叫得上名字的统统写上去。可惜即使通…

Pix2Pix如何工作?

一、说明 在本指南中,我们将重点介绍 Pix2Pix [1],它是用于配对图像翻译的著名且成功的深度学习模型之一。在地理空间科学中,这种方法可以帮助传统上不可能的广泛应用,在这些应用中,我们可能希望从一个图像域转到另一个…

【转载】最强搜索工具Everything的搜索技巧,你可能根本不会用!

转载自B站视频 https://www.bilibili.com/video/BV1Hw411W7vK/?spm_id_from333.880.my_history.page.click&vd_source5d2fad4f7faecf136254f663320a80a7 指定在某个文件夹下搜索 可以缩小搜索范围 排除某个目录 前面加! 运算符,与的关系 (空…

webrtc中的接口代理框架

文章目录 接口代理框架Proxy体系类结构导出接口 webrtc的实际运用PeerConnectionFactoyPeerConnection使用 接口代理框架 webrtc体系庞大,模块化极好,大多数模块都可以独立使用。模块提供接口,外部代码通过接口来使用模块功能。 在webrtc中通…

步进电机为什么叫步进电机,内部结构是什么,工作原理是什么,有什么特点,什么用途。

问题描述:步进电机为什么叫步进电机,内部结构是什么,工作原理是什么,有什么特点,什么用途。 问题解答: "步进"一词表示电机按照固定的步进角度运动。步进电机以控制脉冲信号来驱动转子按照一定的…

Ps:三角形工具

三角形工具 Triangle Tool可以绘制三角形形状(矢量形状,或者是基于像素的形状)和路径(形状轮廓)。 快捷键:U ◆ ◆ ◆ 常用操作方法与技巧 1、一般使用拖拽的方式绘制三角形。也可直接在画布上点击&#…

1.项目简介

本次项目建立的基础是基于Django后台admin管理功能上的二次加工以符合实际情况,所以需要读者对Django这个架构有一定的了解,具体可以查看作者的另一个专栏Django详解。 随着信息技术的迅猛发展,图书馆的借阅系统也在不断地进行更新和改进。传…

基于 OpenVINO Python API 部署 RT-DETR

1. RT-DETR 飞桨在去年 3 月份推出了高精度通用目标检测模型 PP-YOLOE ,同年在 PP-YOLOE 的基础上提出了 PP-YOLOE。而继 PP-YOLOE 提出后,MT-YOLOv6、YOLOv7、DAMO-YOLO、RTMDet 等模型先后被提出,一直迭代到今年开年的 YOLOv8。 YOLO 检测…

.net8 AOT编绎-跨平台调用C#类库的新方法-函数导出

VB.NET AOT无法编绎DLL,微软的无能,正是你的机会 .net8 AOT编绎-跨平台调用C#类库的新方法-函数导出 1,C#命令行创建工程:dotnet new classlib -o CSharpDllExport 2,编写一个静态方法,并且为它打上UnmanagedCallersO…

第二节 linux操作系统安装与配置

一:Vmware虚拟机安装与使用   ①VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC ,以此来实现在一台机器上真正同时运行多个独立的操作系统。   ②VMware主要特点&#xff1a…

【C#】知识点实践序列之Lock的锁定代码块

大家好,我是全栈小5,欢迎来到《小5讲堂之知识点实践序列》文章。 2023年第1篇文章,此篇文章是C#知识点实践序列之Lock知识点,博主能力有限,理解水平有限,若有不对之处望指正! 本篇验证Lock锁定代…

【Spark精讲】一文讲透Spark宽窄依赖的区别

宽依赖窄依赖的区别 窄依赖:RDD 之间分区是一一对应的宽依赖:发生shuffle,多对多的关系 宽依赖是子RDD的一个分区依赖了父RDD的多个分区父RDD的一个分区的数据,分别流入到子RDD的不同分区特例:cartesian算子对应的Car…

C#线程基础(线程启动和停止)

目录 一、关于线程 二、示例 三、生成效果 一、关于线程 在使用多线程前要先引用命名空间System.Threading,引用命名空间后就可以在需要的地方方便地创建并使用线程。 创建线程对象的构造方法中使用了ThreadStart()委托,当线程开始执行时&#xff0c…

【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数

文章目录 🚀前言🚀C有何过C之处?🚀C中的关键字🚀命名空间✈️为什么要引入命名空间?✈️命名空间的定义✈️如何使用命名空间中的内容呢? 🚀C中的输入和输出✈️C标准库的命名空间✈…