GSSAPIを使って、認証情報をユーザが入力せずにログインできるようになったのだが、天から声が聞こえてきた。
サーバにログインするためには、必ずどこかでワンタイムパスワードを必須にせよ。
むむ。そうすると、Macにログインするときに、ワンタイムパスワードを使うことはできないので、サーバにログインするタイミングで必須にしないといけない。
ということで、sshdの設定を下記のように変更した。
/etc/pam.d/sshd
以前は、auth substackとして、password-authを入れていたのだが、それを削除する。
#%PAM-1.0 auth required pam_sepermit.so auth substack google-auth auth include postlogin account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session optional pam_keyinit.so force revoke session include password-auth session include postlogin
/etc/ssh/sshd_config
前回は、gssapi-with-micまたはkeyboard-interactiveとしていたが、gssapi-with-micおよびkeyboard-interactiveと変更する。
AuthenticationMethods gssapi-with-mic,keyboard-interactive
この設定でログインしてみよう。
$ ssh -v -o GSSAPIAuthentication=yes isobe@server01.example.local Authenticated with partial success. Verification code: Last login: Wed Oct 1 22:10:08 2014 from test01.example.local [isobe@server01 ~]$
最初に”Authenticated with partial success.”と出力されているのが、GSSAPIで認証の一部が成功していることを表している。その後、”Verification code:”の箇所で、ワンタイムパスワードを入力して成功すると、ログインできる。
元記事はこちらです。
「[Linux] GSSAPIとGoogle Authenticatorを連動させる」