热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法

本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。




linux服务器的一些配置

介绍关于linux服务器的一些配置。


文章目录


  • linux服务器的一些配置
  • 一、linux服务器设置密码过期策略
  • 二、linux服务器设置密码登录次数限制
  • 三、linux服务器设置公钥登录
  • linux服务器修改默认账户用户名
  • 总结




一、linux服务器设置密码过期策略

修改 /etc/login.defs 配置文件,在用xshell登录到服务器后,在命令行界面输入 vim /etc/login.defs 进入服务器配置文件的修改界面,此时xshell界面如下:
在这里插入图片描述
其中该配置文件中需要修改的几个参数如下:

PASS_MAX_DAYS 60 #密码最大有效期,此处参数PASS_MAX_DAYS为60,表示60天后,密码会过期。99999表示永不过期。
PASS_MIN_DAYS 0 #两次修改密码的最小间隔时间,0表示可以随时修改账号密码
PASS_MIN_LEN 8 #密码最小长度,对于root无效
PASS_WARN_AGE 7 #密码过期前多少天开始提示

在xshell界面输入i,开启vim的编辑功能,修改上面的参数来达到想要的密码过期策略设置,比如上面的四个参数,代表linux服务器用户密码的有效期为60天,两次修改密码的时间间隔为0天(即可以随时修改密码),用户设置的密码最小长度为8,在密码过期前7天开始提示密码将要过期。设置完成后按下Esc键,然后再输入 :wq(注:需要前面的英文冒号)后按下Enter键,即对该配置文件修改及配置成功。因为该配置文件仅对之后系统新建的用户有效,因此如果需要修改root用户的密码过期时间,可以先使用 chage -l root 指令查看root用户的密码过期时间。
在这里插入图片描述
若想修改root用户的密码过期时间,输入 chage -M 5 root 可将root用户的密码过期设置为5天后。输入 chage -M 99999 root则将root用户密码设置为永不过期,对其他用户的操作也如此。
在这里插入图片描述

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。


二、linux服务器设置密码登录次数限制

为了实现这个功能,主要需要修改两个文件 /etc/pam.d/sshd 和 /etc/pam.d/login 其中sshd是ssh登录的配置文件,login是终端登录配置文件。


登录失败处理功能策略(ssh远程连接登录)


首先在linux命令行界面输入 vim /etc/pam.d/sshd进入sshd文件的编辑界面,将配置代码添加至配置文件的第一行,也就是#%PAM-1.0的下面如下:
在这里插入图片描述
参数说明:

#限制登录错误次数配置
auth required pam_tally2.so deny=3 unlock_time=20 #代表对普通用户设置密码错误3次之后便锁定20s
auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=20 #普通用户和root用户密码错误3次之后锁定20s
#各参数解释:
even_deny_root #也限制root用户;
deny=3 #设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time=20 #设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time #设定root用户锁定后,多少时间后解锁,单位是秒;

修改好该配置文件后按下ESC,输入:wq 保存退出后,该配置文件即可生效。


登录失败处理功能策略(服务器端)


vim /etc/pam.d/system-auth (服务器终端),其他操作均同上。


登录失败处理功能策略(终端)


vim /etc/pam.d/login (终端),其他操作均同上。


三、linux服务器设置公钥登录

给linux服务器配置公钥登录首先需要生成公钥和私钥,生成秘钥的方式有很多种,能直接在xshell等连接工具生成或者直接在服务器生成,如果已有公钥和私钥,可以直接跳至修改配置文件部分。如没有秘钥,以下提供一种服务器生成秘钥的方法,按照以下步骤输入指令,生成公钥和私钥:


生成秘钥


[root@VM-8-15-centos ~]# ssh-keygen -t rsa #选择rsa算法加密生成公钥和私钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): test #输入公钥名
Enter passphrase (empty for no passphrase): #输入密码
Enter same passphrase again: #再次输入密码
Your identification has been saved in test.
Your public key has been saved in test.pub.
The key fingerprint is:
SHA256:9o48dWPNIDUG7tKXI6y865I/dlFRU2ILoMJea3Cm7do root@VM-8-15-centos
The key's randomart image is:
+---[RSA 2048]----+
| oo..=..|
| . o =o + |
| + = .o o. |
| . O =. o. |
| o S =o++ |
| = +oo+.o |
| .+..+ . |
| o+++. |
| .=E=. |
+----[SHA256]-----+

修改配置文件


将生成的秘钥文件一个私钥(无后缀)和一个公钥(后缀.pub),移动至 .ssh文件夹(该操作目的为方便之后的配置)。在.ssh目录下执行 以下指令:

[root@VM-8-15-centos .ssh]# cat test.pub >> ~/.ssh/authorized_keys #将生成的公钥输出到authorized_keys文件
[root@VM-8-15-centos .ssh]# chmod 600 authorized_keys #修改authized_keys的权限
[root@VM-8-15-centos .ssh]# vim /etc/ssh/sshd_config #进入sshd_config配置文件的修改界面

#添加或修改以下配置
RSAAuthentication yes #是否开启rsa验证
PubkeyAuthentication yes #是否启用公钥
AuthorizedKeysFile .ssh/authorized_keys #公钥保存位置
PasswordAuthentication no: #是否使用密码登录,如果想只使用私钥登录,可以设置为no

在这里插入图片描述
配置文件修改完成之后,输入service sshd restart (注: centOS 6)或者 systemctl restart sshd.service (注:centOS 7)重启sshd服务,使配置文件生效,将生成的私钥下载至本地,在xshell或者其他工具上导入该私钥(私钥妥善保管),即可实现服务器的私钥登录。


linux服务器修改默认账户用户名

修改以下两个配置文件即可:
代码如下:

vim /etc/passwd #将第一行的第一个root替换为重命名的用户
vim /etc/shadow #将这一行中的root 替换为重命名的用户

如果碰到不能保存退出的情况,使用 :wq! 指令强制保存退出即可,修改完这两个配置文件之后,即可使用新的用户名登录。


总结
这些都是在日常学习中的总结,第一次用csdn写博客,样式啥的不太会,所以看起来会挺乱的,请见谅。

推荐阅读
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有