構成方法を説明する記事( http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ )を見つけましたログインに成功すると、OpenSSHでGoogle認証システムコードを要求します。
次のようにOpenSSHを構成することは可能ですか?
これは便利で(私のコンピューターでは秘密鍵だけが必要なので)、安全です(パスワード認証を有効にして安全なままにしておくことができるので)。
私が望むことを達成する方法はありますか?
前もって感謝します。 :)
sshd
を構成してどちらか有効なキーペアを要求することは間違いなく可能ですまたは HOTP(各要求で新しいワンタイムパスワード(OTP))OATHを使用する-ベースの認証-私はそれをやっています。 GoogleAuthenticatorはOATHのもう1つの実装であると確信しています。
私の完全な記事は http://www.teaparty.net/technotes/yubikey-oath.html で読むことができますが、結果は次のとおりです。
sshd
が公開鍵ベースの認証を許可するようにすでに設定されていると仮定すると(ほとんどはそうです)、次の2行をsshd_config
に追加します。
PasswordAuthentication no
ChallengeResponseAuthentication yes
pam_auth
をインストールします(これは、x86_64の場合のCentOS指向の方法です)。
yum install pam_oath
ln -s /usr/lib64/security/pam_oath.so /lib64/security/
認証ファイルを/etc/users.oath
、モード600
、所有者root:root
にして、次のような行を入力します。
#type username pin start seed
HOTP fred - 123a567890123b567890123c567890123d567890
/etc/pam.d/sshd
を編集し、行を追加します
auth required pam_oath.so usersfile=/etc/users.oath window=5 digits=8
6桁のHOTPOATHに満足している場合は、digits=8
をスキップしてください。 TOTP OATH(n秒ごとに新しいOTP)にも同様の方法を使用できると思いますが、ソフトウェアではなくハードウェアOATHトークンを使用しており、それらはyubikeysです。 HOTPOATHのみを実行します。
唯一の問題は、有効なキーを提示せずにsshを実行すると、OATHコードbeforeパスワードを要求されることです。逆に動作させることはできませんでしたが、それほど気にしないことにしました。プロンプトは、どのトークンが要求されているかをかなり明確にします。
追加する必要があります:
AuthenticationMethods publickey keyboard-interactive
publickey
とkeyboard-interactive
から/etc/ssh/sshd_config
の間にコンマを入れないでください。他のすべての設定を変更する必要はありません(構成が指定されたhowtogeekチュートリアルと等しい場合)。