# Instalace Ubuntu 22.04 v Záchranném Režimu na Hetzner Serveru ## Přehled Tento návod poskytuje podrobný postup pro nastavení Ubuntu 22.04 na serveru Hetzner v záchranném režimu. Pokyny zahrnují vytvoření disků, formátování, instalaci pomocí Hetzner Installimage, konfiguraci RAID 0, GPT partitioning, a změnu hostname. Kroky ## Upozornění Tento dokument a související instrukce jsou připraveny především pro osobní použití a mohou obsahovat specifické kroky nebo nastavení optimalizovaná pro specifické potřeby uživatele. Uživatelé by měli tyto informace používat jako vodítko a přizpůsobit je podle svých individuálních potřeb. ### 1. Aktivace záchranného režimu - Přihlaste se do svého účtu Hetzner Robot. - Vyberte server a přejděte na kartu "Rescue". - Aktivujte záchranný systém s odpovídající architekturou (64-bit). - Restartujte server, aby se bootoval do záchranného režimu. - Přihlaste se přes SSH pomocí poskytnutých přihlašovacích údajů. ### 2. Příprava a rozdělení disků Kontrola existujících oddílů ```bash lsblk fdisk -l ``` Odstranění existujících oddílů (pokud je to nutné) ```bash fdisk /dev/sda ``` - Zadejte d pro odstranění oddílu. - Opakujte pro všechny existující oddíly. - Zadejte w pro uložení změn. ## 3. Nastavení GPT a vytvoření nových oddílů Použití parted pro nastavení GPT ```bash parted /dev/sda (parted) mklabel gpt (parted) mkpart primary ext4 0% 100% (parted) quit ``` ## 4. Instalace Ubuntu 22.04 pomocí Hetzner Installimage Spuštění Installimage ```bash installimage ``` ### Konfigurace Installimage - Vyberte Ubuntu 22.04 ze seznamu. - Upravte konfiguraci pro nastavení oddílů, RAID 0 (pokud je požadováno) a další parametry. - Příklad konfigurace: ```bash DRIVE1 /dev/nvme0n1 SWRAID 0 PART /boot ext4 512M PART / ext4 all HOSTNAME yourhostname ``` ## 5. Formátování a připojení disků Vytvoření připojovacích bodů a připojení disků ```bash mkdir /mnt/data mkdir /mnt/backup mount /dev/sda1 /mnt/data mount /dev/sdb1 /mnt/backup ``` ### Ověření připojení ```bash df -h ``` ## 6. Aktualizace /etc/fstab pro automatické připojení Úprava `/etc/fstab` ```bash nano /etc/fstab ``` Přidání následujících řádků ```bash /dev/nvme0n1p3 / ext4 defaults 0 1 /dev/nvme0n1p2 /boot ext4 defaults 0 2 /dev/sda1 /mnt/data ext4 defaults 0 2 /dev/sdb1 /mnt/backup ext4 defaults 0 2 ``` ## 7. Změna hostname Aktualizace hostname pomocí `hostnamectl` ```bash hostnamectl set-hostname myserver ``` Úprava `/etc/hostname` ```bash nano /etc/hostname ``` - Nahraďte obsahem: ```bash myserver ``` Úprava `/etc/hosts` ```bash nano /etc/hosts ``` - Aktualizujte řádky, které obsahují starý hostname: ```bash 127.0.0.1 localhost.localdomain localhost ip4_my_server myserver ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts ip6_my_server myserver ``` ## 8. Restart a ověření ```bash reboot ``` - Zkontrolujte, zda jsou všechny oddíly správně připojeny: ```bash df -h ``` - Zkontrolujte hostname: ```bash hostnamectl ``` ### Plánované použití disků - VMe Disk (/dev/nvme0n1): Systém a aplikace. - HDD 1 (/dev/sda1): Úložiště dat pro aplikace jako PixelFed, Mastodon, - PeerTube. - HDD 2 (/dev/sdb1): Úložiště záloh. ## Skript setup_server.sh Tento skript automatizuje počáteční nastavení nového uživatele a konfiguraci SSH na serveru s Ubuntu. Skript provádí následující úkoly: ## Funkce Skriptu 1. **Aktualizace a Upgrade Systému:** - Spustí `apt-get update` a `apt-get upgrade` pro aktualizaci seznamu balíčků a upgrade stávajících balíčků. 2. **Změna Hesla pro Root:** - Umožňuje uživateli změnit heslo pro root účet pro zvýšení bezpečnosti. 3. **Vytvoření Nového Uživatele:** - Přidá nového uživatele do systému s domovským adresářem a skupinou, založenou na jméně, které uživatel zadá. 4. **Instalace a Konfigurace Sudo:** - Instaluje balíček `sudo`, pokud ještě není nainstalovaný. - Přidá nového uživatele do skupiny `sudo`, což mu dává práva pro vykonávání příkazů jako superuživatel. 5. **Nastavení SSH Klíče:** - Požádá uživatele, zda chce nahrát veřejný SSH klíč. Pokud ano, uživatel zadá cestu k veřejnému klíči, který se následně uloží do `authorized_keys` v domovském adresáři nového uživatele. - Nastaví správná oprávnění pro složku `.ssh` a soubory uvnitř. 6. **Konfigurace SSH Daemonu:** - Přidá nastavení `PubkeyAuthentication yes` a `AuthorizedKeysFile .ssh/authorized_keys` do konfiguračního souboru SSH daemonu (`sshd_config`) pro povolení autentizace pomocí veřejného klíče. 7. **Restart SSH Služby:** - Restartuje SSH službu pro aplikaci změn v konfiguraci. Pro spuštění kontrolního skriptu, stáhněte a přidejte spustitelná práva s následujícími příkazy: ```bash chmod +x setup_server.sh ./setup_server.sh ``` Druhý skript, `checkconfig.sh`, provádí kontrolu správných nastavení práv a dalších konfigurací na serveru: ### Funkce Kontrolního Skriptu 1. **Kontrola Práv:** Zkontroluje, zda mají složky `.ssh` a soubory uvnitř správně nastavená práva pro zabezpečení SSH připojení. 2. **Kontrola Konfigurace SSH Daemonu:** Ověří, zda jsou v konfiguračním souboru SSH daemonu správně nastaveny klíče pro autentizaci. ### Použití Kontrolního Skriptu Pro spuštění kontrolního skriptu, stáhněte a přidejte spustitelná práva s následujícími příkazy: ```bash chmod +x checkconfig.sh ./checkconfig.sh