WSL Hello sudo brings Windows Hello authentication to Windows Subsystem for Linux
The Windows Subsystem for Linux (WSL) is an important part of Windows 10. Originally meant for developers building web and cloud applications, WSL nowadays turned into something a lot more powerful that brings two very different operating systems together. Since WSL 2, the Linux layer is powered by a variant of Microsoft’s Hyper-V virtualization technology, and it ships with a Microsoft-compiled and supported Linux kernel. The integration between WSL and the underlying Windows 10 is so flexible that one could easily run Windows tools from the Linux command line and vice-versa.
But the fun doesn’t end there. Tinkerers have often come up with mods that will show you just how powerful the Windows Subsystem for Linux can be if you are willing to think outside of the box. If you’ve been itching for some seriously awesome WSL tweaks, then this article is for you. Meet “WSL Hello sudo” — an open-source utility that lets you authenticate sudo commands in the Linux instance using Windows Hello biometric authentication (via Liliputing).
Takaya Saeki, a software developer from Japan who goes by the alias nullpo-head, is the brain behind this awesome project. As seen in the animation above, WSL Hello sudo can seamlessly replace the password input prompt with the familiar Windows Hello interface, allowing you to use your face, fingerprint, or a PIN for authenticating the sudo request.
WSL Hello sudo consists of two OS-specific components: A pluggable authentication module (PAM) on the Linux side and a companion Windows app in charge of invoking Windows Hello. The PAM module is responsible for mapping the Linux user’s authentication request to the corresponding Windows 10 user’s Windows Hello signature. Thanks to such a modular design, WSL Hello sudo is compatible with both the first generation Windows Subsystem for Linux and WSL 2.
Setting up WSL Hello sudo is fairly simple. All you need to do is download the pre-compiled binaries, execute the
install.sh script under the Windows Subsystem for Linux, and then go through the typical PAM module configuration process. We recommend you check out the troubleshooting section of the project’s readme if you have any issues setting it up.