ごった煮

色々な事を書いてます

WSL2 の sudo でパスワードの代わりに Windows Hello を使う

Linux を使っていると、sudo で認証情報を求められますが、WSL の場合、せっかく Windows 上で動いているので、 認証に Windows Hello を使えると嬉しいですよね。

WSL Hello sudo というモジュールを入れると、これが実現できます。 備忘録も兼ねて導入方法を残します。

WSL Hello sudo とは

WSL Hello sudo は、Linux PAM モジュールと sudo で Windows Hello を使えるようにする Windows CLI アプリのセットです。

両方とも、Rust で書かれたツールです。

このツールは、WSL、WSL 2 の両方で使えます。

インストール方法

下記のコマンドを上から順に実行します。

wget http://github.com/nullpo-head/WSL-Hello-sudo/releases/latest/download/release.tar.gz
tar xvf release.tar.gz
cd release
./install.sh

instal.sh を実行すると、モジュールのインストール先を聞かれます。 デフォルトは、/mnt/c/{User フォルダ}/AppData/Local/Programs/wsl-hello-sudo です。

そのほか、インストール先フォルダが無い場合に生成するか、PAM モジュールをすぐに有効化するかなど聞かれるので、y/n で進みます。

最後の PAM を有効化するを y で進めれば使用できるようになります。

有効か・無効化の切り替え方法

下記のコマンドで PAM モジュールの管理画面を表示できます。

sudo pam-auth-update

Windows Hello Authentication を選択して、スペースでオン・オフを切り替えます。(アスタリスクが付いていれば有効)

f:id:papemk2:20220115221042p:plain

アンインストール

install.sh があるフォルダに uninstall.sh が生成されるので、そちらを実行します。

まとめ

これで、sudo を実行する際にパスワードの代わりに Windows Hello が使えるようになりました。 長いパスワードを使っている場合、毎回入れるのが大変だったり、パスワードマネージャからコピペしたりといった面倒な作業が 発生しがちですが、Windows Hello が使えれば、面倒な作業が減って便利なのでぜひ使ってみてください。