qBittorrent Web UI - Invalid Username or Password
Frissült a NAS-omon futó qBittorrent kliens és azóta nem tudtam belépni. Folyton az "Invalid Username or Password" hibaüzenetet adta.
Eltávolítottam, kipucoltam (biztonságba helyeztem) a maradék config fájlokat, újratelepítettem. Ugyanez a hiba. Nem engedett belépni a az alapértelmezett admin:adminadmin felhasználónévvel és jelszóval.
Okkééé.... biztos nem én vagyok az egyetlen... rá is kerestem a problémára. Hamar meg is lett a megoldás.
1. A NAS kezelőfelületén állítsd le a qBittorrentet
2. A Docker/qBittorrent/config/qBittorrent/qBittorrent.conf fájl [Preferences] részébe írd/másold be a következő sort
3. Indítsd újra a NAS kezelőfelületén a qBittorrentet
4. Most már be tudsz lépni az admin:adminadmin felhasználónévvel és jelszóval
5. Beállításokban változtasd meg a Web UI jelszót!
A fenti egy előre generált jelszó PBKDF2 formátumban, ha nem bízol benne, generálj magadnak sajátot Pythonban:
import getpass
import hashlib
import os
# https://github.com/qbittorrent/qBittorrent/blob/ce9bdaef5cdb8ab77d71481f20b25c9e6da1b9eb/src/base/utils/password.cpp#L48
ITERATIONS = 100_000
# 4x32 bits words = 16 bytes: https://github.com/qbittorrent/qBittorrent/blob/ce9bdaef5cdb8ab77d71481f20b25c9e6da1b9eb/src/base/utils/password.cpp#L75
SALT_SIZE = 16
# Let the password "adminadmin"
password = "adminadmin"
# Generate a cryptographically secure pseudorandom salt
salt = os.urandom(SALT_SIZE)
# PBKDF2 w/ SHA512 hmac
h = hashlib.pbkdf2_hmac("sha512", password.encode(), salt, ITERATIONS)
# Base64 encode and join salt and hash
print(f"Hash: {base64.b64encode(salt).decode()}:{base64.b64encode(h).decode()}")