ログイン2FAおよびロック画面でのYubikey Neoの使用


13

Yubikey Neoを使用してUbuntu 14.04にログインします。さらに、Yubikeyを取り外すたびに画面が自動的にロックされると便利です。

回答:


11

最初に、チャレンジ応答用にYubikeyを構成する必要があります。Linuxの優れたマニュアルは、https: //developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.htmlの下でYubicoから提供されてい ます。

これで、ログイン時に認証にyubikeyを使用できるようになります。便利なものが1つありません:Yubikeyが死んだときの画面の自動ロックが削除されます。

Yubicoフォーラム(http://forum.yubico.com/viewtopic.php?f=23&t=1143)のHowToを、14.04のLightDMおよびYubikey Neoと一致するように少し変更しました。

まず、Yubikeyが存在しないときに画面をロックするコマンドを使用して新しいファイルを作成します。

sudo nano /usr/local/bin/yubikey

以下をファイルに書き込みます。

#!/bin/bash 
# Double checking if the Yubikey is actually removed, Challenge-Response won't trigger the screensaver this way.

if [ -z "$(lsusb | grep Yubico)" ]; then
        logger "YubiKey Removed or Changed"
        # Running the LightDM lock command
        export XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0" 
        /usr/bin/dm-tool lock
fi

Yubikey Neoはlsusbの„ Yubico.com“に登録されているため、元のファイルとの最大の違いはdm-tool(lightdmで画面をロックするため)と検索語Yubicoの使用です。

ファイルを閉じて保存します。さらに、ファイルを実行可能にする必要があります。

sudo chmod +x /usr/local/bin/yubikey

次に、適切な割り当てのためにYubikeyのプロパティを見つける必要があります。

このためには、USB記述子をアクティブにする必要があります。詳細はYubicoフォーラムで見つけることができます。

コマンドの新しい端末タイプ

udevadm monitor --environment --udev

これで、yubikeyを(非)プラグインし、IDのリストを取得します。探している

ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT

Yubikeyを認識するために、udevファイルで使用されます。

ヒント:スティックを再構成すると、ベンダーIDが変更されます(CCIDを使用するなど)

さらに、でファイルを作成します

sudo nano /etc/udev/rules.d/85-yubikey.rules

次を入力します

# Yubikey Udev Rule: running a bash script in case your Yubikey is removed 
ACTION=="remove", ENV{ID_VENDOR_ID}=="1050", ENV{ID_MODEL_ID}=="0010", ENV{ID_SERIAL_SHORT}=="0001711399", RUN+="/usr/local/bin/yubikey"

キーに従ってIDを変更します。注:他のIDを含む行をコピーして貼り付けるだけで、さらにyubikeyを追加できます!

ファイルを閉じて保存します。最後に、udevサービスはルールをリロードする必要があります。

sudo udevadm control --reload-rules
sudo service udev reload

私は14.04でこれを試しましたが、ありませんでしたID_SERIAL_SHORTので、私はそれをスキップしました。
パウェウプラヤック

私はこのスレッドが古いことを知っていますが、それでも検索時のトップの結果です。ID_SERIAL_SHORTの削除は、キーに固有の1つの識別子を削除するため危険です。もちろん、ロック解除のためのスクリプトも作成したいとします。ID_SERIAL_SHORTがない場合は、パーソナライザーツールで正しいフラグを有効にしていない可能性があります。
インデックス

0

以下を使用して、すべてのTTYを強制終了することもできますpkill -KILL -t

if [ -z "$(lsusb | grep Yubico)" ]; then
    logger "YubiKey Removed or Changed"
    # Running the LightDM lock command
    export XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0" 
    /usr/bin/dm-tool lock

    ACTIVE_TTY=$(who | awk '{ print $2 }' | grep tty | uniq)
    echo $ACTIVE_TTY | xargs -I {} pkill -KILL -t {}
fi

またlightdm、それを解決するためのファイル許可に問題があるようです:

sudo chown lightdm:root /etc/yubico/[user]-[number]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.