文章目录
-
- 一、SSH+Google Authenticator双重验证(多因素验证)
- *二、WindTerm使用
- 三、HTTP协议
一、SSH+Google Authenticator双重验证(多因素验证)
1、什么是Googel Authenticator及其作用
Google Authenticator是一种基于时间的一次性密码(TOTP)生成器。它通过手机应用生成短时间内有效的验证码,增加了额外的安全层。
2、Google动态认证+SSH密码方式与SSH免密连接的区别
“Google Authentication”结合SSH密码认证的方式是利用Google的身份验证服务(Google
Authenticator)来增强SSH(Secure
Shell)连接的安全性。下面是这种认证方式的具体内容以及它与SSH免密认证(密钥验证)的区别:Google Authentication与SSH密码认证
1. Google Authenticator:
- 功能:Google Authenticator是一种基于时间的一次性密码(TOTP)生成器。它通过手机应用生成短时间内有效的验证码,增加了额外的安全层。
- 设置:用户在手机上安装Google Authenticator应用,并将其与SSH服务器关联。通常通过扫描二维码完成设置。
- 使用方式:当用户尝试通过SSH连接到服务器时,除了输入常规密码外,还需要输入Google Authenticator生成的动态验证码。
2. 结合SSH密码认证:
- 认证过程:在这种设置下,用户首先输入他们的用户名和静态密码(例如“1234”)。然后,系统会要求输入Google Authenticator生成的一次性密码。只有在输入了正确的验证码之后,用户才能成功登录。
- 优势:这种方式结合了传统的静态密码和动态验证码,为SSH登录提供了双重验证(即多因素认证),显著增强了安全性。
SSH免密认证(密钥验证)
1. SSH免密认证(密钥验证):
- 功能:SSH免密认证使用公钥/私钥对进行身份验证。用户生成一对密钥,其中私钥保存在用户的设备上,而公钥则被添加到服务器的授权密钥列表中。
- 设置:用户在本地生成密钥对(通常是
ssh-keygen
命令),将公钥上传到服务器的~/.ssh/authorized_keys
文件中。- 使用方式:当用户尝试通过SSH连接到服务器时,客户端会用私钥进行身份验证。服务器用公钥验证客户端提供的证据,从而确认用户的身份,无需输入密码。
2. 区别:
- 认证方式:
- Google Authentication结合SSH密码认证:使用静态密码和动态验证码进行双重验证,提升了安全性。
- SSH免密认证(密钥验证):只使用密钥对进行身份验证,无需密码和验证码。
- 用户体验:
- Google Authentication结合SSH密码认证:用户需要输入密码和动态验证码,增加了登录过程的复杂性。
- SSH免密认证(密钥验证):一旦设置完成,用户只需使用私钥进行登录,通常更为便捷。
- 安全性:
- Google Authentication结合SSH密码认证:即使密码泄露,动态验证码也能提供额外的安全保护。
- SSH免密认证(密钥验证):私钥的安全性至关重要,密钥对的保护机制通常比密码更安全,但如果私钥被盗,也会导致安全风险。
总体来说,Google
Authentication结合SSH密码认证提供了额外的安全层,而SSH免密认证(密钥验证)则通过密钥对提供了更为便捷和安全的认证方式。选择哪种方式通常取决于对安全性、便捷性和管理要求的具体需求。
3、需要被双重验证的机器安装Googel Authenticator服务
1)安装依赖
yum -y install pam-devel libpng-devel autoconf automake libtool
2)下载源码包
wget -O /app/google-authenticator-1.04.tgz http://test.driverzeng.com/other/1.04.tar.gz
# 或者到其他地方下载
3)解压源码
cd /app
tar -xf google-authenticator-1.04.tgz
4)构建、生成、编译安装
#构建
cd /app/google-authenticator-libpam-1.04
./bootstrap.sh
#生成
cd /app/google-authenticator-libpam-1.04
./configure.sh
生成结果:
#编译
cd /app/google-authenticator-libpam-1.04
make
编译结果:
#安装
cd /app/google-authenticator-libpam-1.04
make install
在Linux系统中:
make
: 这是一个构建工具,负责自动化编译程序的过程。它读取Makefile
文件,执行编译、链接等操作,将源代码转换为可执行文件或库文件。
make install
: 这是make
命令的一个后续步骤,用于将编译生成的文件(如可执行文件、库文件、配置文件等)安装到系统的标准目录中,如/usr/local/bin
或
/usr/local/lib
,使其可以被系统和用户使用。
5)验证是否安装
ll /usr/local/lib/security
注:
/usr/local/lib/security/
目录通常用于存放系统中自定义的PAM模块。这些模块可以是第三方的或由管理员自定义编译的模块。pam_google_authenticator.so 类型: pam_google_authenticator.so
是一个共享库文件(.so 是共享库的扩展名)。 功能: 这是 Google Authenticator PAM
模块的核心库文件。Google Authenticator
是一种基于时间的一次性密码(TOTP)生成器,用于提供双因素认证(2FA)。pam_google_authenticator.so
模块允许系统通过 Google Authenticator 应用生成的动态验证码来增强用户认证的安全性。 作用: 在 /etc/pam.d/
中配置此模块后,系统会要求用户在登录时输入一个由 Google Authenticator 生成的动态验证码,从而