Terminal tabanlı, kullanıcı odaklı TOTP (Time-based One-Time Password) gizli anahtar yönetim aracı. Google Authenticator ve benzeri OTP uygulamalarıyla tam uyumludur.
- 🔑 Rastgele veya özel gizli anahtar oluşturma (Base32)
- 📱 Terminalde QR kod görüntüleme
- ✅ OTP kodu doğrulama
- 📤 Tekil veya toplu kullanıcı dışa/içe aktarma (
.totpformatı) - 👥 Kullanıcı listeleme ve silme
- 🛡️ Root yetkisi gerektiren işlemler için erişim kontrolü
- 🔒 Gizli anahtarlar
600izniyle/etc/otp-secrets.jsondosyasında güvenle saklanır
- Python 3.6+
- Aşağıdaki Python kütüphaneleri:
pyotp
qrcode
1. Depoyu klonlayın:
git clone https://github.com/kullanici-adi/otp-cli.git
cd otp-cli2. Gerekli bağımlılıkları yükleyin:
pip install pyotp qrcode3. Betiği çalıştırılabilir yapın (isteğe bağlı):
chmod +x otp-cli.pysudo python3 otp-cli.py [komut] [seçenekler]
⚠️ olustur,sil,iceri-aktarvetumu-iceri-aktarkomutları/etc/otp-secrets.jsondosyasına yazma yaptığından root yetkisi gerektirir.
| Komut | Açıklama | Root Gerekir mi? |
|---|---|---|
olustur <kullanici> |
Kullanıcı için yeni gizli anahtar oluşturur | ✅ |
goster <kullanici> |
QR kodu ve gizli anahtarı gösterir | ❌ |
kod <kullanici> |
Güncel OTP kodunu ve kalan süreyi gösterir | ❌ |
dogrula <kullanici> <kod> |
Girilen OTP kodunu doğrular | ❌ |
getir <kullanici> |
Kullanıcının gizli anahtarını görüntüler | ❌ |
listele |
Kayıtlı tüm kullanıcıları listeler | ❌ |
sil <kullanici> |
Kullanıcının gizli anahtarını siler | ✅ |
disari-aktar <kullanici> <dosya> |
Gizli anahtarı .totp dosyasına aktarır |
❌ |
iceri-aktar <kullanici> <dosya> |
Gizli anahtarı .totp dosyasından yükler |
✅ |
tumu-disari-aktar <dosya> |
Tüm kullanıcıları tek dosyaya aktarır | ❌ |
tumu-iceri-aktar <dosya> |
Tüm kullanıcıları dosyadan toplu yükler | ✅ |
Rastgele gizli anahtar oluşturma:
sudo python3 otp-cli.py olustur tankadoBelirli bir Base32 anahtarı kullanarak oluşturma:
sudo python3 otp-cli.py olustur tankado --anahtar JBSWY3DPEHPK3PXPÖzel bir şifreden anahtar türetme:
sudo python3 otp-cli.py olustur tankado --anahtardan "benim-gizli-sifrem"QR kodu terminalde görüntüleme:
sudo python3 otp-cli.py goster tankadoÇıktı olarak terminale ASCII QR kodu, gizli anahtar ve
otpauth://URI'si yazdırılır. Bu QR kodu Google Authenticator, Authy veya benzeri uygulamalarla taranabilir.
Güncel OTP kodunu alma:
python3 otp-cli.py kod tankado
# Çıktı: tankado için Güncel OTP: 482910 (~23 saniye geçerli)OTP kodunu doğrulama:
python3 otp-cli.py dogrula tankado 482910
# Başarılı → çıkış kodu: 0
# Başarısız → çıkış kodu: 1Gizli anahtarı dosyaya yedekleme:
python3 otp-cli.py disari-aktar tankado tankado-yedek.totpGizli anahtarı dosyadan geri yükleme:
sudo python3 otp-cli.py iceri-aktar tankado tankado-yedek.totpTüm kullanıcıları toplu yedekleme:
python3 otp-cli.py tumu-disari-aktar tum-kullanicilar.totpTüm kullanıcıları toplu geri yükleme:
sudo python3 otp-cli.py tumu-iceri-aktar tum-kullanicilar.totp
# Çakışan kullanıcılar varsa onay sorar. Onaysız geçmek için:
sudo python3 otp-cli.py tumu-iceri-aktar tum-kullanicilar.totp --ustune-yazKayıtlı kullanıcıları listeleme:
python3 otp-cli.py listeleKullanıcı silme:
sudo python3 otp-cli.py sil tankado
# Silme öncesi onay istenir.- Gizli anahtarlar
/etc/otp-secrets.jsondosyasında saklanır. Bu dosya otomatik olarakroot:rootsahipliğiyle ve600(rw-------) izniyle ayarlanır; yalnızca root okuyabilir. - Yazma gerektiren tüm komutlar
sudoile çalıştırılmalıdır. .totpyedek dosyaları Base64 kodlamalıdır; şifreleme içermez. Bu nedenle yedek dosyalarınızı güvenli bir ortamda saklayın.- Silme işlemlerinde kullanıcı onayı zorunludur (ya da
--ustune-yazbayrağıyla geçilebilir).
Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
- Bu depoyu fork'layın
- Yeni bir dal oluşturun:
git checkout -b ozellik/yeni-ozellik - Değişikliklerinizi commit'leyin:
git commit -m 'Yeni özellik eklendi' - Dalı push'layın:
git push origin ozellik/yeni-ozellik - Pull Request açın
Bu proje MIT Lisansı ile lisanslanmıştır.