Jor*_*tro 55 ssh security authentication pam
我想通过添加另一个因素来加强我的 SSH 登录的身份验证:密码生成器设备或我手机上的密码生成应用程序。默认设置中唯一明显的选项是固定的密码和密钥对。我怎样才能做到这一点?
(如果我使用密码和密码生成器,这提供了两步验证(2FA):密码是“我知道的”,密码是“我拥有的”。)
Jor*_*tro 49
一种方法是使用 Google 提供的名为Google Authenticator的工具。
sudo apt-get install libpam-google-authenticator编辑/etc/pam.d/sshd以包含模块:
sudoedit /etc/pam.d/sshd然后在文件顶部包含这一行并保存:
auth required pam_google_authenticator.so
Run Code Online (Sandbox Code Playgroud)编辑您的 SSH 配置文件以开启挑战:
sudoedit /etc/ssh/sshd_config 然后更改响应身份验证:
ChallengeResponseAuthentication no
Run Code Online (Sandbox Code Playgroud)
到
ChallengeResponseAuthentication yes
Run Code Online (Sandbox Code Playgroud)
然后保存文件。
sudo restart ssh 重新启动SSH
跑 google-authenticator
您需要其中一个才能在另一台设备上接收验证码。
请注意,将密码与一次性密码相结合是两因素身份验证:它将“您所知道的”(密码)与“您拥有的”(密码生成器设备)相结合。另一方面,如果您将一次性密码与 SSH 密钥对结合使用,则完全取决于“您拥有什么”。当两个身份验证因素类型相同时,您没有双因素身份验证;这有时被称为“一个半因素身份验证”。
小智 12
Google Authenticator 适用于您的个人服务器,但您可能会发现它与您现有的身份基础架构并不能很好地配合。如果您想探索其他选项,请考虑使用 RADIUS 作为身份验证协议和 pam-radius 插件。所有面向企业的二元认证系统都支持radius。我们已经写了一篇关于如何通过 pam-radius 向 Ubuntu添加WiKID 两因素身份验证的文档。
使用 radius 允许您将除 SSH 之外的其他系统绑定到同一身份验证服务器。您还可以通过 freeradius 将身份验证请求路由到 LDAP,然后再路由到您的 2FA 服务器,以将授权与身份验证分开。顺便说一句,您可以对 AD 执行相同的操作。
| 归档时间: |
|
| 查看次数: |
5978 次 |
| 最近记录: |