TOTP Client

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
speefak
Beiträge: 439
Registriert: 27.04.2008 13:54:20

TOTP Client

Beitrag von speefak » 12.06.2019 20:04:56

Hallo,

Ich suche einen Desktop ( GUI ) oder Terminal Client wie FreeOTP um TOTP Keys aus vorhandenen Tokens zu erstellen. Wenn das Telefon mal verloren wird hätte ich gerne eine Backup Lösung um aus den gesicherten Keys/QR Codes wieder meine OTPs generieren zu können. Für Android gibt es FreeOTP. Ein QR Code Scan der Backups funktioniert. So etwas in der Art muss es doch auf für Debian geben ? GUI wäre schön, aber wenn es nicht geht tuts auch ein Terminalclient. Software aus dem Main Repo ziehe ich den contrib und non-free Repos vor.

EDIT : Terminal Client gefunden : oathtool --totp -b <YOURSECRET>

Ergo erledigt. aber vllt habt ihr noch Tipps für GUIs mit QR Code Funktion.

dgoldinger
Beiträge: 3
Registriert: 07.10.2015 09:07:00

Re: TOTP Client

Beitrag von dgoldinger » 10.08.2019 13:52:16

Das folgende Script ist sicher nicht perfekt, hilft mir jedoch bei der TOTP Generierung per Terminal und schreibt den Token per xclip direkt in die Zwischenablage.

Code: Alles auswählen

#!/bin/bash

type oathtool >/dev/null 2>&1 || { echo >&2 "Software oathtool fehlt.\nInstallation: apt-get install oathtool"; exit 1; }
type xclip >/dev/null 2>&1 || { echo >&2 "Software xclip fehlt.\nInstallation: apt-get install xclip"; exit 1; }

declare -A OTP
OTP[Service1]='OTP_KEY1'
OTP[Service2]='OTP_KEY2'
OTP[Service3]='OTP_KEY3'

for key in ${!OTP[@]}; do
	summary="$summary $key"
done

function timeLeft {
	sekunden=`date +%S`
	if [ $sekunden -ge 30 ]; then
		echo Verbleibende Zeit: $((60-$sekunden)) Sekunden
	else
		echo Verbleibende Zeit: $((30-$sekunden)) Sekunden
	fi
}

PS3="Bitte Nummer eingeben:"
OPTIONS="$summary Exit"
select opt in ${OPTIONS[@]}; do
	case $opt in
		"Exit")
			exit
			;;
		$opt)
			echo -n "Token \"$opt\": "
			oathtool --base32 --totp ${OTP[$opt]} -d 6
			echo -n `oathtool --base32 --totp ${OTP[$opt]} -d 6` | xclip -sel clip
			timeLeft
			;;
		*) echo "invalid option";continue;;
	esac
done

Antworten