我目前有一个运行OpenSSH以及Samba和其他一些服务的Ubuntu Server 12.04。目前,我已经设置了公钥身份验证,并且我想知道是否可以设置两因素身份验证?我一直在查看当前用于我的Gmail帐户的Google身份验证器。
我发现一个看起来像它可以兼容的PAM模块,但是似乎您被迫使用密码和生成的代码。
我想知道是否可以使用Google Authenticator应用程序(或类似的东西)以及我的公钥来对SSH服务器进行身份验证?
我目前有一个运行OpenSSH以及Samba和其他一些服务的Ubuntu Server 12.04。目前,我已经设置了公钥身份验证,并且我想知道是否可以设置两因素身份验证?我一直在查看当前用于我的Gmail帐户的Google身份验证器。
我发现一个看起来像它可以兼容的PAM模块,但是似乎您被迫使用密码和生成的代码。
我想知道是否可以使用Google Authenticator应用程序(或类似的东西)以及我的公钥来对SSH服务器进行身份验证?
Answers:
Red Hat已在RHEL 6.3(因此是CentOS)6.3中为OpenSSH添加了补丁,以要求多种认证机制,因此您可以执行以下操作:
RequiredAuthentications2 publickey,keyboard-interactive
有关更多详细信息,请参见发行说明。
不幸的是,OpenSSH上游或Ubuntu 12.04都没有此功能,因此除非您想找到补丁并重新编译OpenSSH,否则恐怕您不走运。
AuthenticationMethods
方法来指定多种必需的方法,以便您可以同时要求ssh密钥和PAM,而PAM则需要在Google Authenticator端进行。
您在寻找Duo Security
您可以同时使用Google Authenticator PAM模块和公共密钥,但是一次只能用于一个给定的身份验证。也就是说,如果用户使用授权的公共密钥登录,则不需要令牌。
或者,换句话说:仅密码身份验证才需要令牌,而SSH密钥则不需要。
顺便说一下,此限制不是来自Google Authenticator模块,而是来自SSH,它仅对ChallengeResponseAuthentication
PAM 实现两因素身份验证(通过),但在提供有效的公共密钥时不会调用PAM。
AuthenticationMethods
可以将其翻转的配置参数。现在您可以同时要求两者。
这个问题来自2012年。此后,SSH发生了变化,并且SSH2协议已实现。
在较新版本的SSH(> = 6.2)上,man sshd_config提到:
AuthenticationMethods
Specifies the authentication methods that must be successfully completed for a user to be
granted access. This option must be followed by one or more comma-separated lists of
authentication method names. Successful authentication requires completion of every method
in at least one of these lists.
For example, an argument of ``publickey,password publickey,keyboard-interactive'' would
require the user to complete public key authentication, followed by either password or key-
board interactive authentication. Only methods that are next in one or more lists are
offered at each stage, so for this example, it would not be possible to attempt password or
keyboard-interactive authentication before public key.
This option is only available for SSH protocol 2 and will yield a fatal error if enabled if
protocol 1 is also enabled. Note that each authentication method listed should also be
explicitly enabled in the configuration. The default is not to require multiple authentica-
tion; successful completion of a single authentication method is sufficient.
此页面http://lwn.net/Articles/544640/还提到了同时使用公用密钥和PAM身份验证的可能性。
获取YubiKey并遵循此指南http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK,这是在服务器上实现SSH访问的Yubikey的最佳方法。上述指南使您可以使用公钥+ yubikey,而如果使用官方指南(http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM),则它不适用于公钥+ 键。
问候,贵宾
如果您在私钥上设置了密码短语,那么您已经具有两因素身份验证。为了登录,人们需要: