přidán na test skript nastavení serveru Ubuntu
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
13c753c575
commit
e76769188a
68
setup_server.sh
Normal file
68
setup_server.sh
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
#!/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)"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user