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

【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 "your_email@example.com"

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

2.2 配置SSH密钥登录
  1. 将生成的公钥复制到Linux服务器上:

    ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
    
  2. 确认公钥文件已被正确添加到服务器上的~/.ssh/authorized_keys文件中。

  3. 在服务器上修改SSH配置,确保允许密钥登录并禁用密码登录:

    编辑/etc/ssh/sshd_config文件:

    sudo nano /etc/ssh/sshd_config
    

    确保以下设置:

    PasswordAuthentication no
    PubkeyAuthentication yes
    
  4. 保存文件并重启SSH服务:

    sudo systemctl restart ssh
    

3. 查看登录日志

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

sudo cat /var/log/auth.log | grep 'sshd'

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

sudo cat /var/log/secure | grep 'sshd'

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


4. 限制IP访问

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

4.1 设置IP封禁

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

  1. 安装fail2ban

    sudo apt-get install fail2ban
    
  2. 启动并启用fail2ban

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    
  3. 配置fail2ban的SSH规则,编辑配置文件:

    sudo nano /etc/fail2ban/jail.local
    

    添加如下内容:

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

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

  4. 重启fail2ban服务:

    sudo systemctl restart fail2ban
    
4.2 允许特定IP访问

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

  1. 编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config
    
  2. 添加以下内容来限制IP:

    AllowUsers username@your_ip
    

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

    AllowUsers username@192.168.1.100
    
  3. 保存并重启SSH服务:

    sudo systemctl restart ssh
    

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


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

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

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

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

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

执行步骤
  1. 使用usermod命令锁定用户:
    sudo usermod -L admin
    
  2. 验证是否已成功锁定:
    sudo passwd -S admin
    
    输出类似于admin L的结果表示用户已被锁定。

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


总结

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



http://www.kler.cn/a/382013.html

相关文章:

  • css中pointer-events:none属性对div里面元素的鼠标事件的影响
  • VIM使用笔记
  • 基于SpringBoot的植物园管理小程序【附源码】
  • (附项目源码)python开发语言,基于python Web的高校毕业论文管理系统 51,计算机毕设程序开发+文案(LW+PPT)
  • 华为 HarmonyOS NEXT 原生应用开发: 动画的基础使用(属性、显示、专场)动画
  • 特殊矩阵的压缩存储
  • 工作管理实战指南:利用Jira、Confluence等Atlassian工具打破信息孤岛,增强团队协作【含免费指南】
  • 算法学习(十)—— 字符串
  • Oracle 第15章:安全性管理
  • 基于python主观题自动阅卷系统毕业设计项目
  • 计算机网络:网络层 —— 虚拟专用网 VPN
  • [C++从小白到大牛]第三篇:3分钟带你入门C++(下)
  • 苍穹外卖day-01
  • java 正则匹配json中占位符
  • 7.qsqlquerymodel 与 qtableview使用
  • HBuilderx修改主题色-改变编辑器背景颜色等
  • 【AI换装整合包及教程】OOTDiffusion: AI换装工具的革命性创新
  • 浅谈QT中Tab键的切换逻辑
  • C++工厂模式全解析:从简单工厂到抽象工厂的进阶之路
  • 【案例】旗帜飘动
  • 详解原型模式
  • 光伏设计软件如何快速上手?
  • IntelliJ Idea设置自定义快捷键
  • 跳蚤市场之商品发布功能
  • AI之硬件对比:据传英伟达Nvidia2025年将推出RTX 5090-32GB/RTX 5080-24GB、华为2025年推出910C/910D
  • 设计模式之——简单工厂模式