You can use the PIV functionality of a yubikey to act as a smartcard, and you can log in and sudo authenticate with the yubikey and a PIN.
https://support.yubico.com/hc/en-us/articles/360016649059-Us...
https://support.yubico.com/hc/en-us/articles/360016649059-Us...