是否有可能为Google计算引擎启用2因素身份验证(或Google术语的2步验证)?我有兴趣保护我的虚拟机,云存储和开发人员控制台.
我尝试过使用Google身份验证器(libapm)参考这篇文章使用Google身份验证器在VM上使用双重身份验证来保护SSH但是它没有成功(我设法使用gcloud计算机shell登录而没有其他代码).
[1月12日]一些更新:Google开发者控制台完美运行.谢谢.
对于使用计算引擎SSH访问的两步验证,我重新尝试了所有内容.按照提供的链接中提到的说明进行操作,并执行以下操作:
我创建了一个新的Google-Cloud项目.
我使用了两个不同的操作系统实例 - Debian 8.2和Ubuntu 15.10.
所有这些测试都失败了 - 没有提示验证码.我查看了Google计算引擎文档,他们明确提到它们只支持证书身份验证(而不是用户名/密码),所以我无法验证这是否是根本原因.
是否有人使用Google计算引擎进行两步验证?
谢谢
最后 - 一个解决方案(感谢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的常规说明之上.
最后,还有几点:
仔细考虑这一点 - 从重新启动ssh/sshd帐户开始,没有适当的2FA,任何人都无法登录.因此,请确保任何应该具有ssh访问权限的人 - 正确配置它.
我正在考虑这是否适合我们,因为它需要设置VM(每个VM单独),并手动设置每个帐户和每个VM的身份验证器.不确定这种替代方案的可扩展性.我很感激你的想法......
最后但并非最不重要的 - 使用apt-get可以简化libpam-google-authenticator的设置,无需手动安装所有依赖项并构建它.通过运行为我工作:
sudo apt-get install libpam-google-authenticator
祝好运!