#!/bin/bash #Tento skript provede základní nastavení serveru včetně vytvoření nového uživatele, nastavení SSH přístupu a konfigurace firewallu. ################################################################################################################## # Written to be used on 64 bits computers # Author : Archos # Website : https://arch-linux.cz ################################################################################################################## ################################################################################################################## # # PEČLIVĚ SKRIPT ZKONTROLUJTE. SPUŠTĚNÍ JE NA VAŠE VLASTNÍ RIZIKO. # ################################################################################################################## # Aktualizace systému sudo apt update && sudo apt upgrade -y # Zadejte uživatelské jméno pro nového uživatele read -p "Zadejte jméno nového uživatele: " USERNAME # Zadejte SSH port (výchozí port 2022) read -p "Zadejte nový SSH port (výchozí 2022): " SSH_PORT SSH_PORT=${SSH_PORT:-2022} # Vytvoření nového uživatele a přidání do skupiny sudo sudo useradd -m -s /bin/bash $USERNAME sudo usermod -aG sudo $USERNAME # Nastavení hesla pro nového uživatele echo "Nastavte heslo pro uživatele $USERNAME:" sudo passwd $USERNAME # Nastavení SSH klíčů pro nového uživatele sudo mkdir -p /home/$USERNAME/.ssh sudo chmod 700 /home/$USERNAME/.ssh read -p "Vložte veřejný klíč pro uživatele $USERNAME: " USER_SSH_KEY echo $USER_SSH_KEY | sudo tee /home/$USERNAME/.ssh/authorized_keys sudo chmod 600 /home/$USERNAME/.ssh/authorized_keys sudo chown -R $USERNAME:$USERNAME /home/$USERNAME/.ssh # Nastavení firewallu (ufw) if ! command -v ufw &> /dev/null then sudo apt update sudo apt install ufw -y fi sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow $SSH_PORT/tcp echo "y" | sudo ufw enable # Změna SSH konfigurace sudo sed -i "s/#Port 22/Port $SSH_PORT/" /etc/ssh/sshd_config sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config # Restart SSH služby, aby se změny projevily if systemctl list-units --type=service | grep -q "ssh.service"; then sudo systemctl restart ssh elif systemctl list-units --type=service | grep -q "sshd.service"; then sudo systemctl restart sshd else echo "SSH služba nebyla nalezena. Zkontrolujte název služby." fi echo "Nastavení serveru je dokončeno." echo "Připojte se k serveru pomocí: ssh -p $SSH_PORT $USERNAME@$(curl -s ifconfig.me)"