SSH访问总是至关重要的,您可能希望找到提高SSH访问安全性的方法。 在本文中,我们将看到如何使用Google Authenticator通过简单的双因素身份验证来保护SSH。 在使用之前,您必须将服务器上的SSH守护程序与Google Authenticator一次性密码协议TOTP进行集成,另一个限制是您必须始终拥有您的Android手机,或至少您希望SSH访问的时间。 本教程是针对CentOS 7编写的。
首先,我们将通过在shell上执行以下命令来安装开源Google Authenticator PAM模块。
yum install google-authenticator
此命令将在您的Centos 7服务器上安装Google验证器。 下一步是获取验证码。 只需回答他会问你的简单的服务器问题,这是一个非常简单的命令来获取验证码和划痕代码。 您可以通过运行以下命令来执行该步骤:
google-authenticator
您将得到一个输出,如下面的截图,正在显示,以帮助您一步一步,因为这一步是非常重要和至关重要的。 将紧急划痕代码写在安全的地方,它们只能使用一次,如果您丢失手机,它们将被用于使用。
现在,您可以在手机上下载Google身份验证器应用程序,该应用程序适用于Android和Iphone。 那么我有Android,所以我会从Google Play商店下载,只需键入“google authenticationator”即可。
下一步是改变一些文件,首先我们改变/etc/pam.d/sshd。 将以下行添加到行底部:
auth required pam_google_authenticator.so
更改下一个/ etc / ssh / sshd_config文件。 在文件中添加以下行,如果已经放置,则将参数更改为“yes”:
ChallengeResponseAuthentication yes
现在通过以下命令重新启动ssh的服务:
service sshd restart
最后一步是通过与SSH连接到服务器来测试服务,看它是否需要验证码。 您可以看到以下屏幕截图,其中显示了不断变化的验证码,您必须登录:
因此,我们已经成功配置了基于Google Authenticator的SSH身份验证。 现在你的SSH是安全的,没有暴力攻击可以侵入你的服务器,除非有人有你的验证码,这也需要访问你的手机。