【服务器管理】禁止指定用户使用密码登录服务器
前言
登录服务器通常会采用“用户名-密码”和“ssh密钥”这两种方案中的一种,而在调研到的大多数观点中,都认为密钥比密码更加安全。
在管理服务器时,强制服务器用户均使用密钥登录应该是更为安全的一种管理方案。
但这种方案在已经有大量用户使用了密码登录,或是大多数用户不熟悉密钥登录的情形下会比较难以实施。
退一步来说,可以仅限制服务器上的特定用户(如管理员用户)或具有特定权限的用户(如sudo用户)使用密钥登录,另大多数普通用户自行选择自己的登录方案,从而减少管理过程中和人员打交道时的麻烦。
任务:禁止指定用户使用密码登录服务器
在ssh中,可以通过在配置文件/etc/ssh/sshd_config
中添加Match
实现对于指定用户的过滤,
另一方面,可以通过修改配置文件中的PassworAuthentication
选项实现禁用/启用密码登录。
根据需求不同,可以作以下两种修改↓
-
禁止指定用户使用密码登录
在配置文件末尾添加Match User [用户名,如果想取非可在用户名前面加!] PassworAuthentication no
-
禁止指定用户组内的用户使用密码登录
在配置文件末尾添加Match Group [用户组] PassworAuthentication no
完成修改后执行sudo systemctl reload ssh
即可。
特别注意
配置文件中有提到对于PassworAuthentication
选项的修改,具体写法为:
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
在这个位置进行修改只能选择允许/禁止全部用户使用密码登录,即只能够保持原文不动,或者修改为:
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no
如果在这里添加Match
之类的,执行sudo systemctl reload ssh
时会报错。
想要进行按照上面提到的修改方式进行正确修改,必须要在配置文件末尾进行。
分类:
从零开始的Linux服务器管理
标签:
服务器管理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!