您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Linux下使用GoogleAuthenticator配置SSH登录动态验证码
Linux下使用GoogleAuthenticator配置SSH登录动态验证码说明:1、一般ssh登录服务器,只需要输入账号和密码。2、本教程的目的:在账号和密码之间再增加一个验证码,只有输入正确的验证码之后,再输入密码才能登录。这样就增强了ssh登录的安全性。3、账号、验证码、密码三者缺一个都不能登录,即使账号和密码正确,验证码错误,同样登录失败。4、验证码:是动态验证码,并且是通过手机客户端自动获取(默认每隔30秒失效一次)。5、最终目的:远程ssh登录一台服务器,需要正确的账号、密码、及一个可以获取到动态验证码的手机(目前支持Android和ios手机系统)。具体操作:操作系统:CentOS一、关闭SELINUXvi/etc/selinux/config#SELINUX=enforcing#注释掉#SELINUXTYPE=targeted#注释掉SELINUX=disabled#增加:wq!#保存退出setenforce0#使配置立即生效二、安装编辑工具包1、使用CentOS默认yum源安装yuminstallwgetgccmakeyuminstallpam-devellibpng-devel2、配置repoforge第三方yum源安装mercurial包CentOS各个版本,请选择正确版本CentOS5.xrpm-ivh://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpmCentOS6.xrpm-ivh://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmyuminstallmercurial#安装三、安装googleauthenticatorPAM插件cd/usr/local/srcwget注意:打开google需要翻墙,可以先想办法下载好libpam-google-authenticator-1.0-source.tar.bz2上传到/usr/local/src目录进行安装tarjxvflibpam-google-authenticator-1.0-source.tar.bz2#解压cdlibpam-google-authenticator-1.0#进入目录make#编译makeinstall#安装四、安装QrenCode,此工具可以在Linux命令行下生成二维码cd/usr/local/srcwget下载tarzxfqrencode-3.4.4.tar.gz#解压cdqrencode-3.4.4#进入目录./configure--prefix=/usr#配置make#编译makeinstall#安装五、配置ssh服务调用googleauthenticatorPAM插件vi/etc/pam.d/sshd#编辑,在第一行增加以下代码authrequiredpam_google_authenticator.so:wq!#保存退出vi/etc/ssh/sshd_config#编辑ChallengeResponseAuthenticationyes#修改no为yes:wq!#保存退出servicesshdrestart#重启ssh服务,使配置生效六、使用googleauthenticatorPAM插件为ssh登录账号生成动态验证码注意:哪个账号需要动态验证码,请切换到该账号下操作google-authenticator#运行此命令Doyouwantauthenticationtokenstobetime-based(y/n)y#提示是否要基于时间生成令牌,选择y=200x200&chld=M|0&cht=qr&chl=otpauth://totp/osyunwei@osyunwei%3Fsecret%3DAXNRWARYQPHI5EAJYournewsecretkeyis:AXNRWARYQPHI5WYUYourverificationcodeis199255Youremergencyscratchcodesare:2176798260638828240090004468167328015662#上面的网址为生成的二维码图形地址(需要翻墙才能打开),还会生成密钥,以及5个紧急验证码(当无法获取动态验证码时使用,注意:这5个验证码用一个就会少一个!请保存好!)Doyouwantmetoupdateyour/home/jss/.google_authenticatorfile(y/n)y#提示是否要更新验证文件,选择yDoyouwanttodisallowmultipleusesofthesameauthenticationtoken?Thisrestrictsyoutooneloginaboutevery30s,butitincreasesyourchancestonoticeorevenpreventman-in-the-middleattacks(y/n)y#禁止使用相同口令Bydefault,tokensaregoodfor30secondsandinordertocompensateforpossibletime-skewbetweentheclientandtheserver,weallowanextratokenbeforeandafterthecurrenttime.Ifyouexperienceproblemswithpoortimesynchronization,youcanincreasethewindowfromitsdefaultsizeof1:30mintoabout4min.Doyouwanttodoso(y/n)n#默认动态验证码在30秒内有效,由于客户端和服务器可能会存在时间差,可将时间增加到最长4分钟,是否要这么做:这里选择是n,继续默认30秒Ifthecomputerthatyouareloggingintoisn'thardenedagainstbrute-forceloginattempts,youcanenablerate-limitingfortheauthenticationmodule.Bydefault,thislimitsattackerstonomorethan3loginattemptsevery30s.Doyouwanttoenablerate-limiting(y/n)y#是否限制尝试次数,每30秒只能尝试最多3次,这里选择y进行限制七、手机安装Google身份验证器,通过此工具扫描上一步生成的二维码图形,获取动态验证码Android手机下载:=com.google.android.apps.authenticator2iOS手机下载:
本文标题:Linux下使用GoogleAuthenticator配置SSH登录动态验证码
链接地址:https://www.777doc.com/doc-2884706 .html