Hi. Basically, I’m asking for suggestions. Do you know any good 2FA app that works on linux desktop? I’m looking for something that I can use instead of Aegis, Google authenticator, or microsoft authenticator, but in my computer. Note: It’d be great if it is open source but I’m not closed to proprietary apps, as long as they work on linux
Assuming you had the secrets stored in a secrets.json file in your home directory in this format:
{ "github": "github2FAsecretKey", "some_other_account": "2FAsecretKeyForSomeOtherAccount" }
You could make a simple
otp.py
script and basic TOTP library to generate them in a script & copy them to clipboard:#!/usr/bin/env python3 import json from pyotp import TOTP import os from sys import argv try: file = json.load(open(os.path.join('/home','username','secrets.json'))) if len(argv) > 1: totp = TOTP(file[str(argv[1])]) code = totp.now() cmd = 'cb cp $(echo %s | tr -d "\n")' % code os.system(cmd) else: print(f"Available args:\n {'\n '.join(list(file.keys()))}") except Exception as e: print(f'Error in OTP: {e}')
Then you just
alias otp='f() { $HOME/otp.py $1 };f'
in your shell profile/rc and call it with e.g.otp some_other_account
or justotp
if you forget what key names you gave them to get a reminder list. Obviously you’d want to replace the JSON plaintext file load with an actual secret store if you’re not a lazy madman. I am a lazy madman.Edit: when I stop being lazy I will probably switch to that [email protected] suggestion below (pass + pass-otp extension).