コンテンツにスキップ

二要素認証

ワンタイムパスワードを使用した2要素認証

セキュリティ確保のため、通常のパスワード(Kerberos)に加えて、ワンタイムパスワード(OTP)を使用した2要素認証(2FA)の有効化を必須としています。

OTPトークン登録方法

前提

お持ちのスマートフォンに以下のような多要素認証用アプリをインストールください。

使用する端末(ターミナル)はOS付属の物をご利用ください。 具体的には以下の物です。

  • ターミナル (Mac)
  • Windows Terminal (Windows)
  • Gnome-terminal (Linux)

これら以外の物をご利用頂いた場合(xterm, TeraTermなど)、登録用のQRコードが正しく表示されない場合があります。

手順

  1. ログインノードへログインします
  2. ログインノード上でkinitコマンドを実行します。パスワード入力を促されるので、パスワードを入力してください
  3. ipa otptoken-addコマンドを実行します
  4. 以下のようにQRコードが表示されますので、QRコードを多要素認証用アプリで読み取ります

OTPトークンを登録すると、直ちに2FAが有効化されます。

Note

QRコードが正しく表示されず、アプリで読み取れなかった場合はOTPトークンの削除をしてから再度登録を実施してください。

もし、ssh接続を切ってしまったなどでご自身でのトークン削除ができなくなってしまった場合は管理者までご連絡ください。

OTPトークン削除方法

未使用なものや登録に失敗した OTP トークンを削除したい場合は以下の手順で削除を実施ください。

手順

  1. ログインノードへログインします
  2. ログインノード上でkinitコマンドを実行します。パスワードとOTP入力を促されるので、入力ください

    Note

    OTPトークン登録失敗したての場合は、kinitの実行はスキップ可能です

  3. ipa otptoken-findコマンドを実行して、登録されているOTPトークンの一覧を取得します

    e.g.
    test@login01 ~ $ ipa otptoken-find
    --------------------
    3 OTP tokens matched
    --------------------
    Unique ID: 280a69e8-f659-4b94-8c02-17186fb47035
    Type: TOTP
    Owner: test
    
    Unique ID: 70adb316-1bbc-476a-8b39-ba748b932333
    Type: TOTP
    Owner: test
    
    Unique ID: f1763a49-b359-4b97-bd47-074c73d5d825
    Type: TOTP
    Owner: test
    ----------------------------
    Number of entries returned 3
    ----------------------------
    
  4. ipa otptoken-del <OTPトークンの Unique ID>コマンドを実行して、削除したいOTPトークンを削除してください

     e.g.
     test@login01 ~ $ ipa otptoken-del 280a69e8-f659-4b94-8c02-17186fb47035
     --------------------------------------------------------
     Deleted OTP token "280a69e8-f659-4b94-8c02-17186fb47035"
     --------------------------------------------------------
    

    Note

    OTPトークンのUnique ID は、通常は多要素認証用アプリに書かれています。アプリを確認して削除対象の物を弁別ください。

2FAログイン方法

ログインノードへログインする方法はこちらをご覧ください。

kinit, kpasswd ラッパー

kinit(/bin/kinit)とkpasswd(/bin/kpasswd)コマンドは、2FAが有効な状態ではコマンド実行に失敗するなどの既知の問題があります。

問題が起きないように処置を施した/usr/local/bin/kinit/usr/local/bin/kpasswdというラッパーをログインノードに用意しています。 通常(フルパスを指定せず)、kinitコマンドを使用している場合はラッパーが使用されるため、特別な対処は不要です。 直接 /bin/kinit/bin/kpasswdを指定してコマンドを実行されている場合は、それぞれ/usr/local/bin/kinit/usr/local/bin/kpasswdへパスを変更してください。

携帯電話(OTPトークン)紛失時

OTPトークンを登録した多要素認証用アプリがインストールされているスマートフォンを紛失されたなどでOTPを取得できなくなった時は、 管理者までご連絡ください。

登録されているOTPトークンを削除いたします。

Note

紛失されていない物も含めて、アカウントに登録されている全てのトークンが削除されます

OTPトークン削除によってパスワードのみでログインノードにログイン可能になります。 もし、ログインプロンプトでOTPの入力を促された場合は、OTPを何も入力せずにエンターキーを押下してください。

ログイン確認後、可能な限り早くOTPトークンを再登録してください。

Note

一定期間経過してもOTPトークンを再登録頂けない場合は、アカウントをロックします

コントロールマスター

コントロールマスターを使うと、2回目以降のSSH接続で、最初の接続が再利用されるようになります。このため、2回目以降は認証が不要になります。また、一度目と同じノードにログインすることになります。

Note

Windows組み込みのopensshではコントロールマスターは利用できません。WSL2のopensshを利用してください。

準備

準備として、接続元(例えば個人のノートPC)で以下のようにSSHの設定をします。LinuxやMacの場合は~/.ssh/configを編集します。

Match Host login*.icepp.jp
 ServerAliveInterval 100
 ControlPath ~/.ssh/%r@%h:%p
 ControlMaster auto
 ControlPersist 1m

使い方 (コントロールマスターを自動的に開始する場合)

一度目の接続は、

$ ssh -fN login.icepp.jp
のようにすることで、認証の後にバックグラウンド実行になります。

二度目以降は、

$ ssh login.icepp.jp
とします。

使い方 (コントロールマスターを手動で開始する場合)

ControlMasterの設定をautoaskにすると、ssh-Mをつけることでコントロールマスターを開始することになります。この場合、1回目の接続は

$ ssh -fNM login.icepp.jp
とします。

コントロールマスターの停止

実行中のコントロールマスターをチェックするには ssh -O check login.icepp.jp、 停止するにはssh -O exit login.icepp.jp とします。

© 2024 ICEPP, the University of Tokyo. Reproduction of the article, figures and tables on this page is allowed as specified in the CC-BY-4.0 license.