当前位置: 代码网 > 服务器>服务器>Linux > Linux安全与密钥登录指南

Linux安全与密钥登录指南

2025年02月24日 Linux 我要评论
1. linux安全概述linux系统安全主要依赖于控制访问权限、监控异常行为以及进行安全配置。通过适当的登录方式和访问限制,可以有效避免未经授权的访问。密钥登录是一种更安全的认证方式,避免了明文密码

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密钥登录

  • 将生成的公钥复制到linux服务器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
  • 确认公钥文件已被正确添加到服务器上的~/.ssh/authorized_keys文件中。

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

    编辑/etc/ssh/sshd_config文件:

sudo nano /etc/ssh/sshd_config

确保以下设置:

passwordauthentication no
pubkeyauthentication yes

保存文件并重启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。

  • 安装fail2ban
sudo apt-get install fail2ban
  • 启动并启用fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
  • 配置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小时)。

  • 重启fail2ban服务:

sudo systemctl restart fail2ban

4.2 允许特定ip访问

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

编辑ssh配置文件:

sudo nano /etc/ssh/sshd_config

添加以下内容来限制ip:

allowusers username@your_ip

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

allowusers username@192.168.1.100

保存并重启ssh服务:

sudo systemctl restart ssh

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

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

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

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

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

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

执行步骤

使用usermod命令锁定用户:

sudo usermod -l admin

验证是否已成功锁定:

sudo passwd -s admin
  • 输出类似于admin l的结果表示用户已被锁定。

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

以上就是linux安全与密钥登录指南的详细内容,更多关于linux安全与密钥登录的资料请关注代码网其它相关文章!

(0)

相关文章:

  • Linux使用ncdu查看磁盘使用的操作详解

    Linux使用ncdu查看磁盘使用的操作详解

    简介ncdu (ncurses disk usage) 是一个用于 linux 和类 unix 系统的磁盘实用程序,它提供了一种比 du 等传统命令更具交互性和... [阅读全文]
  • Nginx 平滑升级的实现(拒绝服务漏洞)

    Nginx 平滑升级的实现(拒绝服务漏洞)

    前言nginx 拒绝服务漏洞(cve-2019-9513、cve-2019-9511)将 nginx 升级到 1.16.1、1.17.3 及以上版本,下载地址:... [阅读全文]
  • Linux服务器挂载新硬盘方式

    今天我在一台主机上插了一块8t的新硬盘,我的这台机器上已经插了两个硬盘,分别为4t和2t,但在插这块硬盘时遇到了一些意想不到的问题,故记录一下。创建磁盘分区并格式化首先,我在按照之…

    2025年02月21日 服务器
  • Linux多块硬盘如何挂载到同一目录

    一、问题描述书接上回linux服务器挂载新硬盘,最开始我这台机器挂载了一块4t的硬盘,后来空间不够用了又加了两块硬盘,分别为2t和8t,但是这三块硬盘分别位于不同的目录下,不能很好…

    2025年02月21日 服务器
  • Linux软硬链接和动静态库详解

    一、如何理解目录所以我们说linux下一切皆文件,那么目录是文件吗?是的,因为它也有自己的inode,我们可以通过ls -i的命令来查看我们目录对应的inode目录的内容就是该目录…

    2025年02月20日 服务器
  • Linux服务器安装pytorch和scanpy流程

    linux安装pytorch和scanpy装了六天,终于装上了,含泪记录最近在看一篇论文,准备跑一下他的开源代码,依赖的包如下:最终版安装tips1.新建环境并激活:conda c…

    2025年02月20日 服务器

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com