Linux SSH服务全面配置指南:从基础到安全加固

概述

作为网络安全工程师,SSH(Secure Shell)服务的安全配置是我们日常工作中不可忽视的重要环节。本文将从基础配置到高级安全加固,全面解析SSH服务的各项参数,帮助您构建更加安全的远程管理环境。

基础配置详解

端口与监听设置

SSH默认监听22端口,这是最容易被攻击者扫描的目标之一。建议修改为1024以上的非标准端口:

Port 2222  # 修改默认SSH端口

同时,限制SSH仅监听必要的网络接口:

ListenAddress 192.168.1.100  # 仅监听内网接口

主机密钥配置

现代SSH服务支持多种密钥算法,推荐优先使用更安全的Ed25519:

HostKey /etc/ssh/ssh_host_ed25519_key  # 最佳选择
HostKey /etc/ssh/ssh_host_rsa_key      # 兼容性选择

安全提示:应禁用已过时的DSA算法,在配置文件中注释掉相关行。

认证机制强化

禁用密码认证

密码认证容易受到暴力破解攻击,强烈建议禁用:

PasswordAuthentication no  # 禁用密码认证
PubkeyAuthentication yes   # 启用密钥认证

禁止root直接登录

防止攻击者直接针对root账户进行攻击:

PermitRootLogin no  # 禁止root直接登录

实现双因素认证(2FA)

结合Google Authenticator增加额外安全层:

# 安装所需软件
sudo apt install libpam-google-authenticator# 配置SSH使用双因素认证
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

访问控制策略

用户/IP白名单

限制允许访问SSH的用户和IP范围:

# 允许user1在任何位置访问,user2仅限内网访问
AllowUsers user1 user2@192.168.*.*

防火墙规则配置

使用ufw限制SSH访问来源:

# 仅允许内网访问SSH端口
sudo ufw allow from 192.168.1.0/24 to any port 2222

登录频率限制

安装Fail2ban防御暴力破解:

# 安装Fail2ban
sudo apt install fail2ban# 配置示例(/etc/fail2ban/jail.local)
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 30
bantime = 3600

密钥管理最佳实践

密钥生成规范

使用高强度算法生成密钥对:

# 使用ed25519算法(推荐)
ssh-keygen -t ed25519 -a 100# 使用RSA算法(兼容性更好)
ssh-keygen -t rsa -b 4096

文件权限控制

确保SSH相关文件有正确的权限设置:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

高级安全配置

加密算法配置

限制使用强加密算法,禁用弱算法:

# 加密算法配置
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

会话超时设置

减少空闲会话保持时间,降低被劫持风险:

# 客户端保持活动状态检查
ClientAliveInterval 300
ClientAliveCountMax 2# 登录超时时间
LoginGraceTime 1m

运维管理建议

  1. 定期更新:保持OpenSSH服务更新到最新版本
  2. 日志监控:配置集中式日志收集,监控异常登录尝试
  3. 密钥轮换:定期更换服务器和用户密钥(建议每6-12个月)
  4. 审计配置:定期检查sshd_config文件变更
  5. 备份策略:备份服务器密钥和授权密钥文件

总结

通过本文介绍的多层次安全配置,您可以将SSH服务的安全性提升到专业级别。记住,安全是一个持续的过程,而非一次性配置。建议每季度复查一次SSH配置,并根据最新的安全威胁调整防御策略。

最后建议:在生产环境实施任何重大变更前,请先在测试环境验证,并确保保留至少一个活动会话作为备用连接方式,避免因配置错误导致无法远程访问服务器。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET测试工具Parasoft dotTEST内置安全标准,编码合规更高效

在追求开发速度的时代,确保代码安全并满足严苛的行业合规标准如OWASP、CWE、PCI DSS、ISO 26262等已成为开发者的核心挑战,但开发人员常因复杂的编码标准和漏洞排查而效率低下。.NET测试工具Parasoft dotTEST内置安全标准,实现即插即用&#…

对象的finalization机制Test

Java语言提供了对象终止(finalization)机制来允许开发人员自定义对象被销毁之前的处理逻辑。当垃圾回收器发现没有引用指向一个对象时,通常接下来要做的就是垃圾回收,即清除该对象,而finalization机制使得在清除此对象之前,总会先…

AI初学者如何对大模型进行微调?——零基础保姆级实战指南

仅需8GB显存,三步完成个人专属大模型训练 四步实战:从环境配置到模型发布 步骤1:云端环境搭建(10分钟) 推荐使用阿里魔塔ModelScope免费GPU资源: # 注册后执行环境初始化 pip3 install --upgrade pip pi…

“单一职责”模式之装饰器模式

目录 “单一职责”模式装饰器模式 Decorator引例动机 Motivation模式定义结构 Structure要点总结 “单一职责”模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重…

idea, CreateProcess error=206, 文件名或扩展名太长

idea, CreateProcess error206, 文件名或扩展名太长 解决 “CreateProcess error206, 文件名或扩展名太长” 错误 CreateProcess error206 是 Windows 系统特有的错误,表示命令行参数超出了 Windows 的 32767 字符限制。这个问题在 Java 开发中尤其常见&#xff0c…

一键高效率图片MD5修改工具PHP版

文章目录 图片MD5修改工具项目简介功能特点技术原理系统需求安装方法使用方法Web界面模式命令行模式文件结构常见问题注意事项开发者信息效果演示更多干货🎁1.如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!2.❤️…

跨主机用 Docker Compose 部署 PostgreSQL + PostGIS 主从

q下面是跨主机用 Docker Compose 部署 PostgreSQL PostGIS 主从复制的完整详细步骤(主库 从库),主从都用官方 PostGIS 镜像 postgis/postgis:15-3.3,并注意网络与持久化。复制即可。 🚩 跨主机 PostgreSQL PostGIS …

会议动态|千眼狼高速摄像机、DIC测量系统等科学仪器亮相第十五届全国爆炸力学学术会议

第十五届全国爆炸力学学术会议于6月28日在绍兴盛大召开,会议汇聚来自全国爆炸力学与冲击领域专家学者2000余人,聚焦“爆炸与冲击动力学工程应用”、“材料动态力学行为与损伤断裂“、“工程爆破与毁伤评估”、“含能材料与水中爆炸”、“结构动态响应与安…

vscode一个文件夹有残余的git仓库文件,已经失效了,怎样进行清空仓库残余文件并重新初始化git--ubuntu

vscode一个文件夹有残余的git仓库文件,已经失效了,怎样进行清空仓库残余文件并重新初始化git–ubuntu 首先要把工作区里重要的文件备份好,防止操作时数据丢失。删除.git文件夹 rm -rf .git初始化 (base) zd4090zd4090-System-Product-Name:…

6月30日作业

思维导图 一、读取文件&#xff0c;效果类似 cat 的功能 代码 #include <25041head.h>int main(int argc, const char *argv[]) {//打开文件printf("请输入你要读取的文件路径&#xff1a;");char str[128]"";scanf("%s",str);FILE *fpf…

ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法

我在Ubuntu 24.04.2 LTS下载源码安装Python 3.13.5时&#xff1a; #./configure --enable-loadable-sqlite-extensions --enable-optimizations #make 显示错误信息&#xff1a; Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer 查询我的openssl版…

Ai工具分享(2):Vscode+Cline无限免费的使用教程

大家好,我是程序员寒山。 今天给大家分享一个最新的免费使用的Ai插件Cline的方法,之前也给大家分享过一些免费的方案,但是这些都是随时在变化,之前推荐的很多都不能使用了。 Ai工具分享(2):Vscode+Cline无限免费的使用教 今天再给大家推荐一个,可以免费使用,且没有token…

Docker 目录迁移脚本【Windows Junction 类型链接】

Docker 目录迁移脚本完整教程&#xff1a;从诞生到自动化使用 一、脚本诞生背景与开发历程 1. 为什么需要迁移 Docker 目录&#xff1f; 系统盘空间压力&#xff1a;Docker 镜像和容器数据通常存储在C:\Users\用户名目录下&#xff0c;随着使用时间增长会占用大量系统盘空间…

spring-ai 工作流

目录 工作流概念工作流程图spring-boot 编码定义节点 (Node)定义节点图StateGraphcontroller测试浏览器测试用户输入 工作流概念 工作流是以相对固化的模式来人为地拆解任务&#xff0c;将一个大任务拆解为包含多个分支的固化流程。工作流的优势是确定性强&#xff0c;模型作为…

重头开始学ROS(6)---Eigen库安装与使用

Eigen库 矩阵运算是一种非常重要的运算方式&#xff0c;在Matlab中&#xff0c;矩阵运算可以轻松的实现&#xff0c;但在C这种偏底层的语言中&#xff0c;若不借助第三方库&#xff0c;矩阵运算需要我们进行较为复杂的代码设计。Eigen库是一个用于线性运算的C模板库&#xff0…

【STM32】外部中断

STM32 外部中断&#xff08;EXTI&#xff09;概述 这篇文章结合示例代码&#xff0c;系统性地讲述 STM32 外部中断&#xff08;EXTI&#xff09;实验的原理、以及配置流程。目的在于辅助读者掌握STM32F1 外部中断机制。 STM32F1xx官方资料&#xff1a;《STM32中文参考手册V10》…

LeetCode Hot100 算法题 (矩阵篇)

1、73. 矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]// 将第一行…

Flutter基础(项目创建)

一、使用命令行创建项目 1. 确认 Flutter 环境正常 要保证 Flutter SDK 已经正确安装&#xff0c;并且环境变量配置无误。可以通过执行以下命令来验证&#xff1a; flutter doctor 要保证所有检查项都显示绿色对勾&#xff0c;要是有问题&#xff0c;可按照提示进行修复。 …

【Actix Web】Rust Web开发实战:Actix Web框架全面指南(2025企业级应用版)

​ 在2025年高并发、低延迟成为Web服务核心指标的背景下&#xff0c;​​Actix Web凭借异步Actor模型与零成本抽象​​&#xff0c;成为Rust生态中生产环境部署率最高的Web框架。本指南深入解析Actix Web 4.0核心技术&#xff0c;覆盖​​百万级并发架构设计​​、​​内存安全…

HTML之常用基础标签

HTML之常用基础标签 一、HTML文档基本结构标签1. <html>标签2. <head>标签3. <body>标签 二、文本相关基础标签1. 标题标签&#xff08;<h1> - <h6>&#xff09;2. 段落标签&#xff08;<p>&#xff09;3. 换行标签&#xff08;<br>…