【Linux】Linux安全与密钥登录指南

【Linux】Linux安全与密钥登录指南

在使用Linux服务器时,确保服务器的安全至关重要。本文将为你介绍一些关键的Linux安全措施,包括开启密钥登录、查看登录日志、限制登录IP以及查看系统中能够登录的账号。以下内容适合小白用户,通过简单的操作就能有效提升服务器的安全性。


目录
  1. Linux安全概述
  2. 密钥登录的配置
    • 生成密钥对
    • 配置SSH密钥登录
  3. 查看登录日志
  4. 限制IP访问
    • 设置IP封禁
    • 允许特定IP访问
  5. 查看系统可登录的账号

1. Linux安全概述

Linux系统安全主要依赖于控制访问权限、监控异常行为以及进行安全配置。通过适当的登录方式和访问限制,可以有效避免未经授权的访问。密钥登录是一种更安全的认证方式,避免了明文密码的风险。而登录日志和IP限制则可以帮助我们识别和防御潜在的入侵。


2. 密钥登录的配置

密钥登录是一种比密码登录更安全的方式,通过生成一对公钥和私钥来验证用户身份。以下是配置步骤。

2.1 生成密钥对

在客户端(例如你的电脑)上生成密钥对:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

执行后,会提示你设置密钥存放的路径(默认是~/.ssh/id_rsa),可以直接按Enter使用默认路径。接下来,如果你愿意,可以设置密钥的密码保护。

2.2 配置SSH密钥登录
  1. 确认公钥文件已被正确添加到服务器上的~/.ssh/authorized_keys文件中。

保存文件并重启SSH服务:

sudo systemctl restart ssh

在服务器上修改SSH配置,确保允许密钥登录并禁用密码登录:编辑/etc/ssh/sshd_config文件:

sudonano /etc/ssh/sshd_config 

确保以下设置:

PasswordAuthentication no PubkeyAuthentication yes 

将生成的公钥复制到Linux服务器上:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip 

3. 查看登录日志

Linux系统会记录所有登录活动。可以使用以下命令查看登录日志:

sudocat /var/log/auth.log |grep'sshd'

在CentOS和Red Hat系统上,身份验证日志通常存储在/var/log/secure文件中。你可以尝试使用以下命令查看SSH登录记录:

sudocat /var/log/secure |grep'sshd'

在日志中,你可以查看每次登录的时间、IP地址以及登录结果(成功或失败)。这对监控异常登录行为非常有帮助。


4. 限制IP访问

有时我们希望限制某些IP的访问,或者仅允许特定IP访问,以增强安全性。

4.1 设置IP封禁

可以使用fail2ban工具来自动封禁多次尝试登录失败的IP。

重启fail2ban服务:

sudo systemctl restart fail2ban 

配置fail2ban的SSH规则,编辑配置文件:

sudonano /etc/fail2ban/jail.local 

添加如下内容:

[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 

这将封禁连续3次尝试登录失败的IP,并且封禁时间为3600秒(即1小时)。

启动并启用fail2ban

sudo systemctl start fail2ban sudo systemctl enable fail2ban 

安装fail2ban

sudoapt-getinstall fail2ban 
4.2 允许特定IP访问

要仅允许特定IP访问SSH,可以修改sshd_config文件。

保存并重启SSH服务:

sudo systemctl restart ssh

添加以下内容来限制IP:

AllowUsers username@your_ip 

例如,若只允许IP 192.168.1.100的用户访问,添加如下内容:

AllowUsers [email protected] 

编辑SSH配置文件:

sudonano /etc/ssh/sshd_config 

这将仅允许指定IP的用户进行访问,有效防止其他IP的登录请求。


5. 查看系统可登录的账号

要查看当前系统中可以登录的账号,可以检查/etc/passwd文件。此文件列出了所有用户及其基本信息。

使用以下命令过滤出具有登录权限的账号:

cat /etc/passwd |grep -E '/bin/bash|/bin/sh'

该命令会列出具有有效shell的用户,表示这些用户具备登录权限,如果发现有不该登陆的账号却能够登陆,通过锁定用户账户,彻底阻止账户的登录操作。此方法适用于需要暂时禁用用户而无需更改Shell的情况,以下使用admin账户举例。

执行步骤

验证是否已成功锁定:

sudopasswd -S admin 

输出类似于admin L的结果表示用户已被锁定。

使用usermod命令锁定用户:

sudousermod -L admin 
注意:锁定账户后,系统会在密码字段前添加!符号,表明该账户已被禁用。如果要解锁账户,可使用usermod -U admin命令。

总结

通过以上方法,可以有效增强Linux服务器的安全性,包括启用密钥登录、监控登录日志、设置IP限制及检查登录账号。这些措施对于新手用户来说操作简单,并且能够显著提高系统的安全防护能力。


Read more

Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构

Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构 前言 在鸿蒙(OpenHarmony)生态迈向深度社交、企业办公及即时通讯全场景覆盖的背景下,如何将枯燥的长文本转化为具备可交互能力的“信息枢纽”,已成为提升用户操作效率的关键。在鸿蒙设备这类强调分布式协同与智慧感知的移动终端上,如果应用仅能显示纯文本,而无法识别其中的网址(URL)、邮箱(Email)或电话(Phone),用户就必须通过复杂的“长按、复制、切换应用、粘贴”链路来处理信息,这极大地割裂了鸿蒙系统的流转体验。 我们需要一种能够自动扫描文本特征、支持多维热点识别且具备高性能渲染能力的富文本处理引擎。 whitecodel_auto_link 为 Flutter 开发者引入了极其简便的长文本自动链接方案。它通过内置的高精度正则匹配矩阵,自动将文本中的特定识别域转化为可点击的高亮区域。在适配到鸿蒙

By Ne0inhk
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解

Spring Boot 后端分层开发实战:从 MVC 到三层架构详解

应用分层 通过上面的练习,我们学习了 Spring MVC 简单功能的开发,但是我们也发现了一些问题。目前我们程序的代码有点 “杂乱”,然而当前只是 “一点点功能” 的开发。如果我们把整个项目功能完成呢?代码会更加的 “杂乱无章”(文件乱,代码内容乱)。 也基于此,咱们接下来学习应用分层。类似公司的组织架构:公司初创阶段,一个人身兼数职,既做财务,又做人事,还有行政。随着公司的逐渐壮大,会把岗位进行细分,划分为财务部门,人事部门,行政部门等。各个部门内部还会再进行细分。 项目开发也是类似,最开始功能简单时,我们前后端放在一起开发,随着项目功能的复杂,我们分为前端和后端不同的团队,甚至更细粒度的团队。后端开发也会根据功能再进行细分。MVC 就是其中的一种拆分方式。但是随着后端人员不再涉及前端,后端开发又有了新的分层方式。 4.1 介绍 阿里开发手册中,关于工程结构部分,定义了常见工程的应用分层结构: 那么什么是应用分层呢?应用分层是一种软件开发设计思想,

By Ne0inhk

大模型实习模拟面试面经:同花顺金融大模型算法一面深度复盘(RAG、LoRA、强化学习、Agent 架构全解析)

大模型实习模拟面试面经:同花顺金融大模型算法一面深度复盘(RAG、LoRA、强化学习、Agent 架构全解析) 关键词:大模型面试|RAG 重排序|LoRA 参数优化|GRPO 训练异常处理|Agentic RL|金融 Agent 开发|AI for SE 前言:为什么这场面试值得复盘? 2026 年,大模型技术已从“学术热点”全面转向“工业落地”,尤其在金融、医疗、法律等高价值垂直领域,智能 Agent 正成为企业核心竞争力的关键载体。作为国内领先的金融科技公司,同花顺近年来大力投入金融大模型与智能投研 Agent 的研发,其算法岗面试自然聚焦于工程实现能力 + 领域理解深度 + 技术前沿敏感度三大维度。 本文基于真实模拟面试场景,完整还原一场面向大模型算法实习生岗位的一轮技术面全过程。面试官围绕 RAG 重排序机制、LoRA

By Ne0inhk
Spring Cloud 熔断降级详解:用 “保险丝“ 类比,Sentinel 实战教程

Spring Cloud 熔断降级详解:用 “保险丝“ 类比,Sentinel 实战教程

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 📋 目录 * 什么是熔断降级 * 定义 * 为什么需要熔断降级? * 保险丝类比:形象理解熔断机制 * 生活中的保险丝 * 熔断器工作原理对比 * 熔断器三种状态 * Sentinel 核心概念 * 什么是 Sentinel? * 核心概念对比 * Sentinel vs Hystrix 对比 * Sentinel 实战教程 * 环境准备 * 1. 添加依赖 * 2. 配置文件 * 基础示例:注解方式 * 3. 主启动类 * 4. 创建订单服务 * 5. 控制器 * 高级配置:规则定义 * 6. 流控规则配置 * OpenFeign 集成 * 7. Feign客户端集成Sentinel * 8. Feign降级处理 * 规则持久化(

By Ne0inhk