ここのとこワンタイムパスワードについていろいろ設定してるのだけど、どうやらProxmox VEでもOTPによる二要素認証が設定ができるようだ。
というわけで、試しに設定してみることにした。
設定方法は簡単。
[データセンター]から[認証]タブを選択し、ワンタイムパスワードを定義する認証方法(今回はpam)の設定画面を開く。
で、[TFA]の設定値を「OATH」と指定する。
次に、Proxmox VEのコンソール画面で以下のコマンドを実行し、ワンタイムパスワードのキーを生成する。
oathkeygen
root@BS-PHY-MICROSERVER-01:~# oathkeygen
ORQOZ7ZBEOPWDXAY
Proxmoxの管理画面を再度開き、[データセンター] > [ユーザ]タブからワンタイムパスワード認証をさせるユーザを選択し、生成したキーを[Key IDs]に入力する。
あとは、再度ログインする際に今までのID/PWとワンタイムパスワードの入力をするだけだ。
ワンタイムパスワードは、以下のようにコンソール上でコマンドを実行することで求めることが可能だ。
oathtool --totp -b シークレットキー
iPhoneやAndroidなどでいいツールがあればいいが、今のところiPhoneではよさげなアプリが見つからず、自分の環境ではoathtoolコマンド以外見つからなかった。
何であれ、これでワンタイムパスワードログインができるようになった。
2016/12/28 追記
なお、ワンタイムパスワードのトークンをなくすなどして、ログインできなくなった場合。
sshでログインできるようであれば、「/etc/pve/user.cfg」にワンタイムパスワードのシークレットキーなどが記述されているので、そこからワンタイムパスワードを生成してやるといいだろう。
「もうそもそもワンタイムパスワード自体いらないんじゃー!無効化したい!」という場合は、「/etc/pve/domains.cfg」で以下の行を削除してしまえばいい。
● /etc/pve/domains.cfg
pve: pve
comment Proxmox VE authentication server
pam: pam
comment Linux PAM standard authentication
tfa type=oath,digits=8