Edu*_*Alm 4 linux ssh pam google-authenticator
我找到了一篇文章 ( http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ ) 解释了如何配置 OpenSSH 以请求 Google 身份验证器成功登录后的代码。
是否可以配置 OpenSSH,以便发生以下情况:
这会很方便(因为在我的计算机上我只需要私钥)并且安全(因为我可以启用密码验证并且安全)。
有什么办法可以实现我想要的吗?
提前致谢。:)
这绝对是可以配置的sshd,要求无论是一个有效的密钥对或使用HOTP(对每个请求新的一次性密码(OTP))基于OATH认证-我这样做。我相当确定 Google Authenticator 只是另一个 OATH 实现。
我的完整文章可以在http://www.teaparty.net/technotes/yubikey-oath.html阅读,但结果是:
假设您sshd已经设置为允许基于公钥的身份验证(大多数是),请将这两行添加到sshd_config:
PasswordAuthentication no
ChallengeResponseAuthentication yes
Run Code Online (Sandbox Code Playgroud)
安装pam_auth(这是面向 CentOS 的方式,适用于 x86_64):
yum install pam_oath
ln -s /usr/lib64/security/pam_oath.so /lib64/security/
Run Code Online (Sandbox Code Playgroud)
制作身份验证文件/etc/users.oath、模式600、所有者root:root,并使用以下行填充它:
#type username pin start seed
HOTP fred - 123a567890123b567890123c567890123d567890
Run Code Online (Sandbox Code Playgroud)
编辑/etc/pam.d/sshd并添加行
auth required pam_oath.so usersfile=/etc/users.oath window=5 digits=8
Run Code Online (Sandbox Code Playgroud)
digits=8如果您对 6 位 HOTP OATH 感到满意,请跳过。我相信类似的方法可用于 TOTP OATH(每n秒更新一次 OTP ),但我使用的是硬件 OATH 令牌而不是软件令牌,它们是 yubikeys,仅用于 HOTP OATH。
唯一的问题是,当您在没有提供有效密钥的情况下进行 ssh 连接时,它会在密码之前要求输入 OATH 代码。我不能让它以相反的方式工作,但我决定我并不那么在意;提示很清楚正在请求哪个令牌。
| 归档时间: |
|
| 查看次数: |
3552 次 |
| 最近记录: |