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

如何在 Linux 系统上更改 SSH 服务端口以增强服务器安全性

SSH 服务器默认使用 22 端口,这使得攻击者可以轻松识别并尝试攻击 SSH 服务。为了增加服务器的安全性,建议更改默认的 SSH 端口。本文将详细介绍如何在 Linux 系统上更改 SSH 服务端口,并包含一些最佳实践和注意事项。

1. 检查新的 SSH 端口是否被占用

在更改 SSH 端口之前,首先应检查所选的新端口是否已经被其他服务占用。可以使用以下命令检查特定端口是否已被占用:

sudo netstat -tuln | grep [PORT_NUMBER]

[PORT_NUMBER] 替换为您计划使用的新端口号。如果命令没有返回任何结果,表示该端口是空闲的,可以使用。

2. 编辑 SSH 配置文件

SSH 服务器的配置文件通常位于 /etc/ssh/sshd_config。使用文本编辑器(如 vinano)打开该文件:

sudo vi /etc/ssh/sshd_config

找到以下行:

#Port 22

取消注释,并将 22 修改为您想要使用的新端口号。例如,如果希望将 SSH 端口更改为 4444,修改如下:

Port 4444

注意:确保您选择的端口不被保留或常用服务占用,建议选择一个较高的端口号(如 1024 以上)。

3. 修改防火墙规则

如果您的服务器使用了防火墙(如 iptablesfirewalld),您需要允许新的 SSH 端口通过防火墙。

firewalld

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

iptables

sudo iptables -A INPUT -p tcp --dport 4444 -j ACCEPT
sudo service iptables save
sudo service iptables restart

注意:在更新防火墙规则后,建议不要立即删除旧的 22 端口规则,先测试新端口是否正常工作后再进行移除操作。

4. 重启 SSH 服务

完成配置文件和防火墙规则的更改后,需要重启 SSH 服务使更改生效:

sudo systemctl restart sshd

在 CentOS 或 RHEL 系统上,也可以使用以下命令:

sudo service sshd restart

注意:在远程管理的情况下,建议保持现有 SSH 会话打开,直到确认可以通过新端口连接成功后再关闭旧的会话。

5. 测试新的 SSH 端口

更改后,测试新端口以确保 SSH 服务正常运行:

ssh -p 4444 username@your_server_ip

注意:使用 ssh -p [PORT_NUMBER] 参数指定连接的新端口号。

6. 清理旧的防火墙规则(可选)

如果新端口测试通过,且确认不再需要通过默认的 22 端口访问 SSH,可以将防火墙规则中的端口 22 删除:

firewalld

sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
sudo firewall-cmd --reload

iptables

sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save
sudo service iptables restart

7. 其他注意事项

  • 端口范围:尽量选择一个不常用的高端口,避免与其他服务冲突。

  • SELinux:如果系统启用了 SELinux,可能需要为新端口配置适当的策略。使用以下命令添加新的端口号到 SELinux 规则中:

    sudo semanage port -a -t ssh_port_t -p tcp 4444
    
  • 日志检查:更改端口后,建议定期检查 SSH 日志 (/var/log/auth.log/var/log/secure) 以确保没有未授权的访问尝试。

总结

通过更改默认的 SSH 端口,可以降低被扫描和攻击的风险。尽管这并不是一个彻底的安全解决方案,但它可以有效地增强服务器的安全性。记得在更改端口后,更新所有相关的配置和规则,确保服务的稳定和安全运行。

相关文章:

如何在 Linux 系统上更改 SSH 服务端口以增强服务器安全性

SSH 服务器默认使用 22 端口,这使得攻击者可以轻松识别并尝试攻击 SSH 服务。为了增加服务器的安全性,建议更改默认的 SSH 端口。本文将详细介绍如何在 Linux 系统上更改 SSH 服务端口,并包含一些最佳实践和注意事项。 1. 检查新的 SSH 端口…...

c++11新特性 -nullptr

今天遇到一道不错的题目,主要讲了c11对nullptr的特性。 首先:nullptr 是C11引入的一个关键字,用于表示“空指针常量”,它是类型std::nullptr_t的唯一值。nullptr 的引入解决了C语言风格的空指针字面量(如NULL或0&#…...

kubernets学习笔记——Kubernets 命令行工具 kubectl

目录 kubectl 的使用方法1、语法2、操作3、资源类型4、输出格式5、示例:常用操作6、示例:创建和使用插件 kubectl 的使用方法 Kubernetes 提供 kubectl 是使用 Kubernetes API 与 Kubernetes 集群的控制面进行通信的命令行工具。这个工具叫做 kubectl。通…...

Hadoop单机及集群部署

目录 一、Hadoop 单机模式部署1. 环境准备2. 安装 Java3. 下载并安装 Hadoop4. 配置环境变量5. 配置 Hadoop编辑 core-site.xml编辑 hdfs-site.xml编辑 mapred-site.xml编辑 yarn-site.xml 6. 格式化 Namenode7. 启动 Hadoop 服务8. 验证 Hadoop注意事项 二、Hadoop 集群模式部…...

使用es-hadoop同步hive和es之间数据

💻近期在华为云连接es时的时候发现不能输入账号密码,后面联系华为工程师了解到,华为云默认是非安全模式,即不需要输入账号密码。 如果对你有所帮助,欢迎点赞收藏关注不迷路哦💓 目录 使用es-hadoop同步h…...

Java - 泛型 + JUnit

一、泛型(参数化类型,在编译时确定) 泛型是一种可以接收数据类型的数据类型(可以这么理解) 作用: 1.能对加入到集合中的数据类型进行约束 2.遍历的时候,不需要进行类型转换,提高效率(因为遍历时,默认的是Object,需要进行类型转换的…...

vue3实现包含表格的Word文件导出

vue3实现包含表格的Word文件导出 近期遇到一个要求,需要在网页上导出Word文档,文档中有表格,也有普通的数据,查阅了很多资料,总算比较完美的解决了,记录一下 先上一下最终效果 演示视频 vue3项目根据Wor…...

【深度学习】TTS,CosyVoice,推理部署的代码原理讲解分享

文章目录 demo代码加载配置文件speech_tokenizer_v1.onnx(只在zero_shot的时候使用)campplus.onnx(只为了提取说话人音色embedding)`campplus_model` 的作用代码解析具体过程解析总结示意图CosyVoiceFrontEndCosyVoiceModel推理过程总体推理过程推理速度很慢: https://git…...

flask高频面试题

目录 高频面试题及答案1. 如何在Flask中处理数据库迁移?2. Flask如何处理文件上传?3. 如何在Flask中处理跨域请求(CORS)?4. 如何在Flask中实现用户认证?5. Flask如何处理会话?6. Flask如何处理表…...

尚硅谷谷粒商城项目笔记——五、使用docker安装mysql

五、使用docker安装mysql 注意: 因为电脑是AMD芯片,自己知识储备不够,无法保证和课程中用到的环境一样,所以环境都是自己根据适应硬件软件环境重新配置的,这里的虚拟机使用的是VMware。 使用 Docker 安装 MySQL 与安…...

filebeat + logstash使用笔记

背景 本文中有2台主机: (1)1.1.1.1是OpenStack的nova节点,安装filebeat (2)1.1.1.2是logstash节点 在1.1.1.1上通过filebeat读取OpenStack的nova-compute组件日志(/var/log/nova/nova-compute.…...

学校考场电子钟设置自动开关机,节能环保

在标准化考试中,准确的时间显示对于确保考试的公正性和秩序至关重要。然而,传统的电子钟系统往往存在一些问题,影响了考试管理的效率。 一、学校普通电子钟使用问题 二、学校考场电子钟优点 学校同步时钟系统通过自动同步网络或卫星时间的方式…...

短剧APP系统开发带来了哪些发展空间?

在影视行业快速发展的时期,短剧作为一种新兴的影视模式,获得了大众的欢迎。目前,短剧行业巨大的发展空间,再次成为大众关注的焦点。 随着移动互联网的发展,信息技术不断升级进步,短剧APP系统的开发&#x…...

PaddlePaddle / PaddleOCR踩坑记,动手实现一个OCR服务器

文章目录 一、环境搭建1、官网2、准备环境 二、编码实现一个web程序 一、环境搭建 1、官网 https://gitee.com/paddlepaddle/PaddleOCR#/paddlepaddle/PaddleOCR/blob/main/doc/doc_ch/quickstart.md 2、准备环境 本地环境坑太多了,好在官网还有一种基于docker搭…...

JeecgBoot低代码平台简单记录

BasicModal弹窗 Usage 由于弹窗内代码一般作为单文件组件存在,也推荐这样做,所以示例都为单文件组件形式 注意v-bind"$attrs"记得写,用于将弹窗组件的attribute传入BasicModal组件 attribute:是属性的意思,…...

零基础入门转录组数据分析——机器学习算法之xgboost(筛选特征基因)

零基础入门转录组数据分析——机器学习算法之xgboost(筛选特征基因) 目录 零基础入门转录组数据分析——机器学习算法之xgboost(筛选特征基因)1. xgboost基础知识2. xgboost(Rstudio)——代码实操2. 1 数据…...

C#开发常见面试题三(浅复制和深复制的区别)

C#开发常见面试题三(浅复制和深复制的区别) 一.浅复制和深复制定义 (1)浅复制:复制一个对象的时候,仅仅复制原始对象中所有的非静态类型成员和所有的引用类型成员的引用。(新对象和原对象将共享所有引用类型成员的实…...

Linux/C 高级——Linux命令

从这里开始,我们展开对Linux/c 高级的学习,首先介绍的是在Linux/c高级中,Linux的部分 目录 1.Linux简介 1.1Linux起源 1.2查看系统版本命令 1.3分层结构 1.4系统关机重启命令 2.Linux安装工具 2.1软件包安装 2.1.1软件包的管理机制 …...

怎么在 tailwindcss 项目中自定义一些可复用的样式

在 Tailwind CSS 项目中自定义可复用的样式有几种常用方法: 使用 apply 指令 你可以在 CSS 文件中使用 apply 指令来创建可复用的样式类: layer components {.btn-primary {apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 f…...

在vue3中 引入echarts

安装&#xff1a;npm install echarts --save 方式一&#xff1a;直接在组件中引用 <template><divref"myChart"id"myChart":style"{ width: 800px, height: 400px }"></div></template><script>import * as echa…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…...

【大厂机试题解法笔记】矩阵匹配

题目 从一个 N * M&#xff08;N ≤ M&#xff09;的矩阵中选出 N 个数&#xff0c;任意两个数字不能在同一行或同一列&#xff0c;求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求&#xff1a;1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...

机器学习复习3--模型评估

误差与过拟合 我们将学习器对样本的实际预测结果与样本的真实值之间的差异称为&#xff1a;误差&#xff08;error&#xff09;。 误差定义&#xff1a; ①在训练集上的误差称为训练误差&#xff08;training error&#xff09;或经验误差&#xff08;empirical error&#x…...

Java高级 |【实验八】springboot 使用Websocket

隶属文章&#xff1a;Java高级 | &#xff08;二十二&#xff09;Java常用类库-CSDN博客 系列文章&#xff1a;Java高级 | 【实验一】Springboot安装及测试 |最新-CSDN博客 Java高级 | 【实验二】Springboot 控制器类相关注解知识-CSDN博客 Java高级 | 【实验三】Springboot 静…...

Springboot多数据源配置实践

Springboot多数据源配置实践 基本配置文件数据库配置Mapper包Model包Service包中业务代码Mapper XML文件在某些复杂的业务场景中,我们可能需要使用多个数据库来存储和管理不同类型的数据,而不是仅仅依赖于单一数据库。本技术文档将详细介绍如何在 Spring Boot 项目中进行多数…...