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

【新教程】Linux服务器ssh启用两步验证

1 背景

服务器被恶意破解的事件层出不穷,一旦被破解就比较麻烦。不如提前通过简单的措施——增加两步验证,来大大增强服务器的安全性。本教程在Debian 12.5、Ubuntu 24.04等系统上测试通过。

2 详细过程

1、安装 libpam-google-authenticator

sudo apt update
sudo apt install libpam-google-authenticator -y

2、为每个用户生成 TOTP 密钥

google-authenticator

3、回答显示的问题,默认y就可以。
4、使用微软或者谷歌验证器扫码。
5、拍照记录应急验证码。
6、配置 PAM 模块启用 TOTP

sudo vim /etc/pam.d/sshd

在文件最上方添加以下内容:

auth required pam_google_authenticator.so nullok

如果必须使用两步验证,则:

auth required pam_google_authenticator.so

上述区别在于,如果没有配置验证器,还能否登录。前者如果没有配置验证器还可以登录,后者就无法登陆了,必须配置验证器。
7、编辑ssh配置。

sudo vim /etc/ssh/sshd_config

修改以下内容:

ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication yes  # 如使用公钥登录可为 no
KbdInteractiveAuthentication yes  # 这一行必不可少,否则不能使用xshell,termius等

8、重启ssh服务,使上述配置生效。

sudo systemctl restart ssh

3 说明

在配置完成后,之后每次登录都需要先输入验证码,然后再输入密码。
如果按照上述步骤不能正常登录,请先检查使用的ssh软件,使用xshell或者termius甚至使用系统自带的终端,看能否顺利登录

http://www.xdnf.cn/news/5364.html

相关文章:

  • 什么是深拷贝什么是浅拷贝,两者区别
  • PPO近端策略优化算法
  • Tailwind CSS v4 主题化实践入门(自定义 Theme + 主题模式切换)✨
  • shell 编程之正则表达式与文本处理器
  • JS逆向-7881游戏平台Lb-Sign参数和Lb-Timestamp参数
  • SaaS场快订平台项目说明【持续更新】
  • ensp的华为小实验
  • 管道-验证和转换
  • 关于“铜宝”电线的质量,以下是综合分析:
  • 第3.2.3节 Android动态调用链路的获取
  • 【程序员AI入门:开发】11.从零构建智能问答引擎:LangChain + RAG 实战手册
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 08.阴影
  • Python函数式编程入门:闭包与装饰器详解
  • 【数据结构】子串、前缀
  • 数据库索引详解:原理 · 类型 · 使用 · 优化
  • 傅利叶十周年,升级核心战略:“有温度”的具身智能蓝图
  • 【STM32 学习笔记】USART串口
  • ScaleTransition 是 Flutter 中的一个动画组件,用于实现缩放动画效果。
  • vscode_python远程调试_pathMappings配置说明
  • 一、数据仓库基石:核心理论、分层艺术与 ETL/ELT 之辨
  • Day21 奇异值分解(SVD)全面解析
  • 【Redis】缓存和分布式锁
  • spark-哈希join介绍
  • spring中的@Inject注解详情
  • 嵌入式学习笔记 - 运算放大器的共模抑制比
  • 探索C++内存管理
  • MySQL中like模糊查询如何优化?
  • JSON 在 Java 中的应用:手动生成与使用库的对比
  • 部署dify
  • 操作系统学习笔记第2章 (竟成)