TOTPシークレットのQRコードが与えられた場合、チャレンジ/レスポンスのプロンプトが表示されないように、openconnectへの引数をどのようにフォーマットすればよいでしょうか。

TOTPシークレットのQRコードが与えられた場合、チャレンジ/レスポンスのプロンプトが表示されないように、openconnectへの引数をどのようにフォーマットすればよいでしょうか。

TOTP コードを生成するために、Google 認証を設定するための QR コードがあります。QR コードのテキスト値を確認すると、次のようになります。

otpauth://totp/<user>@<host>?secret=A1A2A3A4A5A6A7A8

openconnect vpnクライアントは、コマンドライン引数として秘密を渡すことができると主張していますが、私は試してみました

--token-secret=A1A2A3A4A5A6A7A8

しかし、それはうまくいかないようです。これについて経験のある方はアドバイスをいただけますか?

答え1

以下の方法で接続できます:

openconnect HOSTNAME --user=USERNAME --passwd-on-stdin --token-mode=totp --token-secret=sha1:base32:TOKEN

編集: コメントに従ってさらに情報を追加しました。

あなたは

-token--mode=totp

接続するには、上記で説明したコマンドを使用できます。

--passwd-on-stdin

コマンドを実行した直後に、stdin にパスワード (マスクされていないパスワード) を入力するために使用されます。

また、トークン シークレットで使用されるエンコードとハッシュ アルゴリズムも必ず提供してください。おっしゃるとおり、Google 認証システムを使用しているため、デフォルトで base32 と sha1 になっています。

sha1:base32:TOKEN 

最後に、私の環境では Linux と Mac では動作しますが、Windows では動作しません。

関連情報