使用Google计算引擎进行2因素身份验证(2步验证)

时间:2015-12-24 09:26:20

标签: google-compute-engine

是否有可能为Google计算引擎启用2因素身份验证(或Google术语的2步验证)? 我对保护我的虚拟机,云存储和开发人员控制台感兴趣。

我尝试在VM上使用Google身份验证器(libapm)引用本文Securing SSH with two factor authentication using Google Authenticator但它没有成功(我设法使用gcloud计算机shell登录而没有其他代码)。

[1月12日] 一些更新: Google开发者控制台运行良好。感谢。

对于使用计算引擎SSH访问的两步验证,我重新尝试了所有内容。按照提供的链接中提到的说明进行操作,并执行以下操作:

  • 我创建了一个新的Google-Cloud项目。
  • 我使用了2个不同的操作系统实例 - Debian 8.2和Ubuntu 15.10。

所有这些测试都失败了 - 没有提示验证码。 我浏览了Google计算引擎文档,他们明确提到它们只支持证书身份验证(而不是用户名/密码),所以我无法验证这是否是根本原因。

是否有人使用Google计算引擎进行两步验证?

由于

1 个答案:

答案 0 :(得分:5)

最后 - 一个解决方案(感谢Google云支持)。

在我提到的文件之上的几个更新:

除了向 /etc/pam.d/sshd 添加一行外,还应注释掉 @include common-auth 行。所以它应该是这样的:

auth       required     pam_google_authenticator.so # from the original instructions
# @include common-auth # commenting out is new...

除了更改 / etc / ssh / sshd_config 中的 ChallengeResponseAuthentication 属性外,还应添加 AuthenticationMethods publickey,keyboard-interactive 以下一行:

ChallengeResponseAuthentication yes # from the original instructions
AuthenticationMethods publickey,keyboard-interactive # this is new... 

当然,这是在安装libpam-google-authenticator,更改sshd和sshd_config(如上所述),重新启动ssh / sshd服务以及为帐户设置google-authenticator的常规说明之上

最后,还有几点:

  1. 仔细考虑这一点 - 从重新启动ssh / sshd帐户开始,没有适当的2FA,任何人都无法登录。因此,请确保任何应该具有ssh访问权限的人 - 正确配置它。
  2. 我正在考虑这是否适合我们,因为它需要设置VM(每个VM单独),并手动设置每个帐户和每个VM的身份验证器。不确定这种替代方案的可扩展性。我很感激你的想法...
  3. 最后但并非最不重要 - 使用apt-get可以简化libpam-google-authenticator的设置,无需手动安装所有依赖项并构建它。通过运行为我工作:
      

    sudo apt-get install libpam-google-authenticator

  4. 祝你好运!