热门标签 | 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写博客,样式啥的不太会,所以看起来会挺乱的,请见谅。

推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • PatchODAX8: ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
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社区 版权所有