加入收藏 | 设为首页 |

蚯蚓-经过手机密钥的动态暗码加强SSH登录安全性

海外新闻 时间: 浏览:126 次

功用介绍:

曾经介绍了运用公钥方法登录跳板机蚯蚓-经过手机密钥的动态暗码加强SSH登录安全性,可是想想每次都得将公钥拷给他人如同有点费事,而且一换电脑,公钥也要从头设置。假如用在网吧什么的感觉也不是很安全。所以想到了运用谷歌身份验证器来验证。

谷歌身份验证器功用便是经过手机上面30秒一变的随机暗码,来验证服务器。咱们能够幻想成是银行那类似于小U盘相同的东西,暗码30秒变一次。这样也保证了登录的安全性。

环境:

CentOS 6.5

根底组件装置:

yum -y install wget gcc make pam-devel libpng-devel

一、装置qrencode

在Linux上,有一个名为 QrenCode 的指令行东西能够很简单帮咱们生成二维码,google authenticator指令行生成二维码便是调用它。

wget http://fukuchi.org/works/qrencode/qrencode-3.3.1.tar.gz
tar zxf qrencode-3.3.1.tar.gz
cd qrencode-3.3.1
./configure --prefix=/usr && make && make install

二、装置google authenticator PAM插件

wget http://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
tar jxf libpam-google-authenticator-1.0-source.tar.bz2
cd libpam-google-authenticator-1.0
make && make install

三、装备google authenticator

首要需求切换到对应的用户,假如想多用户都运用这种方法登录,需求先切换到对应的用户,再运行 google-authenticator 指令,程序会问你Do you want authentication tokens to be time-based (y/n),粗心是依据时刻生成验证码(及TOTP),这儿挑选y。

这个二维码天然是给 Google Authenticator(手机装置查找 Google Authenticator,或许叫谷歌身份验证器) 运用程序来扫描的。还能够照二维码下面的文字密钥手艺输入。当 Google Authenticator 识别了这个账号之后,验证器就装备好了。在文字密钥下面还供给了几个应急码,为避免手机丢了等情况下所用的,能够妥善保管。

这时 Google Authenticator 尽管运行了,可是相关设置还没有保存,程序会问你 Do you want me to update your “/root/.google_authenticator” file (y/n) (是否将装备写入家目录的装备文件),当然是答复 y 了。又会问

Do you want to disallow multiple uses of the same authentication

token? This restricts you to one login about every 30s, but it increases

your chances to notice or even prevent man-in-the-middle attacks (y/n)

粗心是说是否制止一个口令多用,天然也是答 y。下一个问题是

By default, tokens are good for 30 seconds and in order to compensate for

possible time-skew between the client and the server, we allow an extra

token before and after the current time. If you experience problems with poor

time synchronization, you can increase the window from its default

size of 1:30min to about 4min. Do yo蚯蚓-经过手机密钥的动态暗码加强SSH登录安全性u want to do so (y/n)

粗心是问是否翻开时刻容错以避免客户端与服务器时刻相差太大导致认证失利。这个能够依据实际情况来。我的ipad时刻很准(与网络同步的),所以答 n,假如一些平板电脑不怎样连网的,能够答 y 以避免时刻过错导致认证失利。再一个问题是

If the computer蚯蚓-经过手机密钥的动态暗码加强SSH登录安全性 that you are logging into isn't hardened against brute-force

login attempts, you can enable rate-limiting for the authentication module.

By default, this limits attackers to no more than 3 login attempts 裙下之臣every 30s.

Do you want to enable rate-limiting (y/n)

挑选是否翻开测验次数约束(避免暴力进犯),天然答 y。

问题答完了,家目录中多出一个 .google_authenticator 文件(默许权限为 400),这时客户端与服务端现已配套起来了,今后不必再运行 google-authenticator 指令了,否则会从头生成一组暗码。

四、装备SSH验证

此刻尽管 Google Authenticator 现已装备好了,可是并没有任何程序会去调用它蚯蚓-经过手机密钥的动态暗码加强SSH登录安全性。所以需求设置 SSH 登录的时分去经过它验证。

翻开 /etc/pam.d/sshd 文件,增加

auth required pam_google_authenticator.so

这一行,保存。再翻开 /etc/ssh/sshd_config 文件,找到

ChallengeResponseAuthentication no

把它改成

ChallengeResponseAuthentication yes

并保存。最终,输入

service ssh restart

来重启 SSH 服务以运用新的装备。

这时分再用 SSH 登录的话就会这样了:

这样就成功了。

五、设置客户端登陆方法

将上面的二维码,或许发生的密钥输入到手机Google Authenticator客户端(这个网上许多,商城也一般都,就叫google身份验证器)

运用secureCRT的用户:

运用XShell的用户:

设置好后敲回车键登录,此刻呈现要求输入code这个便是手机上那个30秒一变的验证码;

然后要求输入暗码,这个便是用户的真实暗码

保证手机时刻和服务器时刻根本共同。假如输入都正确即可登录成功了。