如何在 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。使用文本编辑器(如 vi 或 nano)打开该文件:
sudo vi /etc/ssh/sshd_config
找到以下行:
#Port 22
取消注释,并将 22 修改为您想要使用的新端口号。例如,如果希望将 SSH 端口更改为 4444,修改如下:
Port 4444
注意:确保您选择的端口不被保留或常用服务占用,建议选择一个较高的端口号(如 1024 以上)。
3. 修改防火墙规则
如果您的服务器使用了防火墙(如 iptables 或 firewalld),您需要允许新的 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
安装:npm install echarts --save 方式一:直接在组件中引用 <template><divref"myChart"id"myChart":style"{ width: 800px, height: 400px }"></div></template><script>import * as echa…...
GHelper终极指南:轻量级华硕笔记本控制工具全面解析
GHelper终极指南:轻量级华硕笔记本控制工具全面解析 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar…...
LeetDown:让老旧iOS设备重获新生的macOS降级工具
LeetDown:让老旧iOS设备重获新生的macOS降级工具 【免费下载链接】LeetDown a GUI macOS Downgrade Tool for A6 and A7 iDevices 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown LeetDown是一款专为macOS设计的图形化iOS设备降级工具,它…...
AI开发-python-langchain框架(--AI 直接生成并执行 Python 代码 )遣
指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c…...
解锁知识自由:kill-doc工具让30+平台文档获取效率提升300%
解锁知识自由:kill-doc工具让30平台文档获取效率提升300% 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为…...
3步解决地理数据处理难题:面向多角色的开源工具Mapshaper
3步解决地理数据处理难题:面向多角色的开源工具Mapshaper 【免费下载链接】mapshaper Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files 项目地址: https://gitcode.com/gh_mirrors/ma/mapshaper 在当今数据驱动的时代,地理信息的价…...
如何通过Jar包快速集成国产工作流引擎的设计器
1. 为什么选择国产工作流引擎的设计器 在开发OA系统、ERP、CRM等企业级应用时,工作流引擎几乎是必不可少的核心组件。传统的开源工作流引擎如Activiti、Flowable虽然功能强大,但集成设计器往往需要复杂的配置和二次开发,这对中小型团队来说成…...
别再手动传文档了!Unity+Coze知识库自动上传与进度监控全攻略
UnityCoze知识库自动化上传与进度监控实战指南 在游戏开发中,剧情文本、设定文档等资源的管理往往需要频繁更新和版本控制。传统的手动上传方式不仅效率低下,还容易出错。本文将带你构建一个完整的自动化解决方案,实现从Unity到Coze知识库的…...
为什么 OXE 中 VLA 训练时 state 给关节,而预测的 action 是 xyz 加欧拉角
为什么 VLA 训练时 state 给关节,而预测的 action 是 xyz 加欧拉角 核心结论 在 VLA 训练中,state 使用关节状态(joint state),而 action 预测为 xyz Euler,这通常不是冲突,而是两者承担的角色…...
PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化
PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化 1. 引言 一幅珍贵的古代山水画,因为年代久远出现了多处破损和褪色;一张历史照片,因为保存不当而出现了霉斑和裂纹。这些文化遗产的损坏,往往意味着一段…...
PyTorch 笔记学习(15) : aot_autograd.py 解析
本文是 聚焦 torch/_functorch/aot_autograd.py 这一 1863 行的关键文件。它是 torch.compile 编译栈中承上启下的核心枢纽——向上承接 TorchDynamo 捕获的 FX 图,向下将前向/反向图交付给 Inductor 代码生成后端。理解这个文件,就掌握了 PyTorch 2.0 编…...
