Linux - Reset SSH hesla
Účel
Tento návod popisuje postup pro reset zapomenutého hesla uživatele root na VPS s operačním systémem Debian u Hicorie.
Postup je určen pro případ, kdy:
- se nelze přihlásit přes SSH,
- známe přístup do administrace VPS,
- máme k dispozici webovou konzoli VPS,
- případně máme možnost pracovat s GRUB při startu systému.
Upozornění: Reset hesla vyžaduje přístup ke konzoli/serveru. Každý, kdo má možnost získat root shell, má v zásadě plný přístup k systému.
1. Přístup do VPS konzole
Přihlaste se do administrace Hicoria a otevřete správu příslušného VPS.
Pro VPS lze u Hicoria využít webovou konzoli, zejména pokud je potřeba provést servisní zásah nebo vlastní instalaci systému.
Pokud server běží, proveďte jeho restart.
2. Otevření GRUB
Během startu serveru je potřeba zobrazit nabídku GRUB.
Pokud se nabídka nezobrazí automaticky, zkuste během startu opakovaně stisknout:
Esc
případně:
Shift
V nabídce GRUB vyberte běžnou položku Debian a stiskněte:
e
Tím se otevře konfigurace bootování.
3. Úprava parametrů kernelu
Poznámka: Úpravy provedené v GRUBu pomocí klávesy e jsou pouze dočasné a platí jen pro aktuální spuštění systému. Parametr init=/bin/bash se tímto způsobem nezapisuje natrvalo do konfigurace GRUBu. Po restartu VPS se systém spustí standardním způsobem.
Najděte řádek začínající přibližně:
linux /boot/vmlinuz-...
Na konci tohoto řádku bývají parametry podobné:
ro quiet
Parametr:
ro
změňte na:
rw
a na konec řádku přidejte:
init=/bin/bash
Výsledná část může vypadat například takto:
linux /boot/vmlinuz-... root=... rw quiet init=/bin/bash
Parametry, které už na řádku jsou, nemažte. Pouze změňte ro na rw a přidejte init=/bin/bash.
4. Spuštění systému
Stiskněte:
Ctrl + X
nebo:
F10
Systém se spustí přímo do root shellu.
Měli bychom vidět prompt podobný:
root@(none):/#
5. Přepnutí root filesystemu do režimu RW
Pro jistotu ověřte připojení root filesystemu:
mount | grep ' / '
Pokud je filesystem připojen pouze pro čtení, připojte jej znovu jako rw:
mount -o remount,rw /
6. Nastavení nového hesla
Nyní spusťte:
passwd root
Systém si vyžádá nové heslo:
New password:
Retype new password:
Při zadávání hesla se znaky na obrazovce nezobrazují. Je to normální.
Po úspěšné změně by se měla zobrazit zpráva podobná:
passwd: password updated successfully
7. Uložení změn
Proveďte synchronizaci zápisu na disk:
sync
Následně restartujte server:
reboot -f
Pokud by reboot -f nefungoval, lze zkusit:
exec /sbin/reboot -f
8. Přihlášení přes SSH
Po naběhnutí systému se přihlaste pomocí nového hesla.
Návod na přihlášení k SSH můžete najít zde.
9. Ověření přístupu
Po přihlášení ověřte, že jste skutečně přihlášeni jako root:
whoami
Výsledek:
root
Pro kontrolu systému lze použít:
hostname
a:
uptime
Pokud resetujete heslo jiného uživatele
Pokud nepotřebujete resetovat root, ale například uživatele admin, použijte:
passwd admin
Případně nejprve zjistěte existující uživatele:
cut -d: -f1 /etc/passwd
Pokud se root přes SSH stále nepřihlásí
Samotný reset hesla ještě nemusí znamenat, že je povolené přihlášení root přes SSH.
Zkontrolujte:
grep -E '^[# ]*PermitRootLogin' /etc/ssh/sshd_config
Případně konfiguraci SSH:
sshd -T | grep permitrootlogin
Pokud je například nastaveno:
permitrootlogin no
je přihlášení root přes SSH zakázané.
V takovém případě je vhodnější používat běžného administrátorského uživatele se sudo:
ssh admin@IP_ADRESA_SERVERU
a následně:
sudo -i