要約:Google認証は、SSHログインのセキュリティを強化使い方
序文
Google認証は、ワンタイムパスワードジェネレータです
サポートHOTP(RFC 4226で定義されたHMACベースのワンタイムパスワード)とTOTP(タイムワンタイム・ベースのパスワード)。
Google認証すべてのネイティブクライアントの終了上記のAndroid、iOSとブラックベリーに、
だけでなく、人々は、クライアント側のJ2MEのバージョンを開発し、
だから、基本的に市場で入手可能な全てのスマートフォン、ハンドヘルドデバイス(モバイルデバイス)を使用することができます。
Google認証もPAMモジュールを提供し、それは、Unix / Linuxの検証作業に使用することができながら。
私達はちょうど使用Google認証を SSH PAMモジュールを認証します。
Linuxサーバーの設定
CentOSの6.2 x86_64の決勝をリリース
1. SSHの認証設定
A。Vimの/etc/pam.d/sshd
最初の行が追加しました
認証に必要なpam_google_authenticator.so
B。vimのは、/ etc / ssh / sshd_config
「ChallengeResponseAuthenticationの」と「UsePAM」を検索
すべてが「はい」に設定することを確認し
はいChallengeResponseAuthenticationの
はいUsePAM(注意:デフォルトはyesです)
保存して、サービスを再起動します
サービスのsshdの再起動
2. インストール関連のモジュール
A。yumをgccのPAM-のdevelのlibpng-develのインストール-y
3. インストールqrencode
このツールが生成できるQRコードを拡大して、Google認証システムのコマンドラインは、生成されたQRコードは、それを呼び出すことです。
wget
http://fukuchi.org/works/qrencode/qrencode-3.3.1.tar.gz
タールzxvf qrencode-3.3.1.tar.gz
CDのqrencode-3.3.1
./configure --prefix =は/ usr
作る&& make installを
注:指示を出力することができ従いますが、テストしたとき、私は得られなかった、それはまだ使用するQRコードGoogleのチャートAPIの出力を使用して、
このツールは、したがって、必須です。
4. インストールGoogle認証PAM
wgetの http://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
タールjxvf libpamによる検索 - グーグル・オーセンティケータ-1.0-source.tar.bz2
CDのlibpamによる検索 - グーグル・オーセンティケータ - 1.0
作る&& make installを
5. Google認証配置
あなたが最初に(私は現在テストしていので、最初はルートで動作するように)対応するユーザに切り替える必要があり、場合にのみユーザーであれば、
この工程を省略することができます。
A。グーグル、オーセンティケータ
输入 " - オーセンティケータをGoogleの后、会询问「あなたは、認証トークンは、時間ベース(Y / N)になりたいですか」、
時間ベースのコードは「Y」を選択し、生成、基本的です。
次のような結果(私のqrencodeが正常に実行されなかったので、何のQRコードはありません):
以下に示すようにqrencodeは、成功した実行しています:
まずQRコードGoogleのChareのAPI出力を使用しているブラウザへのキー図のURLを強調し、(下記参照)にスキャンすることができます。
また、次のURLのキーワードに合わせて手動でキーを入力することができます。
ときにGoogle認証アカウントを識別した後は、それが設定されていることを確認します。コードは、テキスト内のいくつかの非常用キーを提供し、
これはかどうかの周りの携帯電話が使用されたときに失われた場合、それは維持する必要があります。
B。 設定を保存
このとき、Google認証を行うが、しかし、単なるテキスト認証コードおよび緊急時のキーと保存されていない他の関連する設定を出力し、
会所以问 'Y' を选择、 'あなたは私があなたの 『/root/.google_authenticator』ファイル(Y / N)を更新しますか'。
C。 人々が使います
人々は、セキュリティのために同じ認証キーを使用して制限するかどうか、もちろん、「Y」から選択。
D。 時間差
時間ギャップのは、検証の失敗を引き起こすことが大きすぎるため、クライアントとサーバーを防ぐためにセットを開くかどうか、それが実際の状況に応じて設定することができます。私が選ぶ「n」を、
サーバーは多くの場合、時間が許可されない限り、(あなたは、マザーボードを変更したいはずです)
それとも、それは「Y」を選択しなければならない、まれにしか、NTP、携帯電話などのモバイル機器やインターネットを設定されていません。
e. 次数限制
不用说,一定选‘y’。
以上设定完毕后,目录中会多一个文件‘.google_authenticator’(默认为400),此时系统已经完整运行了,
之后除非为新User产生或是需要重新产生,否则不需再执行google-authenticator。
Server登入测试图
Client端设置
Android:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2
或到Google Play 搜寻并安装 Google Authenticator
iOS:http://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8
其他:请自行搜寻下载安装或参考http://support.google.com/accounts/bin/answer.py?hl=en&answer=1066447
我是使用Android手机,扫完QRCode后,每30秒产生一组新验证码,如下图:
注意事项
1. Selinux:需设定为disabled
2. 可与rsa公私钥认证一起使用,但只差别在与电脑里有没有rsa key而已,如果没有的话才会用到。
3. 同一个‘.google_authenticator’可用在别台Server上,所以在安全性上仍须注意。
4. 商用OTP系统一般是C/S网络版方式,有一个统一的Authentication Server,为了保证高可用性,
一般会有一主一备两台服务器。
5. Google Authenticator是一个基于时间的产生验证码的程序,因此不管是服务器端还是手机用户端,
对时间的要求都是非常严格的,要时刻保持与NTP服务器同步。
6. Google Authenticator和条型码扫描仪默认是不会产生任何GPRS和WIFI流量的。
7. 如果不需要使用者登入时输入OTP密码,而是在使用者su到root时要求输入,
可以把PAM认证语句加入到‘/etc/pam.d/su’中。
8. 当服务器启用PAM认证之后,所有使用者都是要求输入TOTP密码,
所以需要每个使用者在自己的目录下产生一个‘.google_authenticator’文件。
参考数据来源
http://code.google.com/p/google-authenticator/
http://m114.org/system/google-authenticator-strengthen-ssh-login-security.html
https://wzyboy.im/post/765.html
http://www.ipcpu.com/2012/07/google-auth-sshd/
http://blog.onovps.com/archives/centos-ssh-google-authenticator.html
http://heikezhi.com/2011/09/26/simple-two-factor-ssh-authentication-with-google-authenticator/
原文:大专栏 使用 Google Authenticator 加强SSH登入安全性