Pradinis Ubuntu VPS konfigūravimas — žingsnis po žingsnio

Paleiskite serveryje viena komanda (pirmiausia patikrinkite skripto turinį žemiau):

curl -sSL https://cp.lv/scripts/pervichnaya-nastrojka-vps-ubuntu.sh | sudo bash

…arba su wget:

wget -qO- https://cp.lv/scripts/pervichnaya-nastrojka-vps-ubuntu.sh | sudo bash

Skripto turinys pervichnaya-nastrojka-vps-ubuntu.sh:

#!/usr/bin/env bash
# Initial Ubuntu setup: updates, user with sudo, time zone, ufw
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive

NEWUSER=deploy
TIMEZONE=Europe/Riga

# 1. Update the system (non-interactive)
sudo apt-get update -y
sudo apt-get upgrade -y

# 2. Create the user non-interactively and grant sudo
if ! id "$NEWUSER" &>/dev/null; then
  sudo adduser --disabled-password --gecos "" "$NEWUSER"
fi
sudo usermod -aG sudo "$NEWUSER"

# 3. Time zone
sudo timedatectl set-timezone "$TIMEZONE"

# 4. Basic firewall (SSH first, or you lock yourself out!)
sudo apt-get install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable

sudo ufw status verbose
echo "Done: system updated, user $NEWUSER created with sudo, time zone $TIMEZONE, ufw enabled."
echo "Remember to set the user password: sudo passwd $NEWUSER"

Pirmas dalykas, kurį reikia padaryti naujame Ubuntu VPS, — atnaujinti paketus, sukurti atskirą vartotoją su sudo teisėmis, nustatyti laiko juostą ir įjungti bazinę ugniasienę. Žemiau — tiksli komandų seka, kurią įvykdysite per 10 minučių.

1 žingsnis. Prisijunkite kaip root

Sukūrus serverį gaunate IP adresą ir root slaptažodį (arba raktą). Prisijunkite per SSH:

ssh root@JŪSŲ_IP

2 žingsnis. Atnaujinkite sistemą

Atnaujinkite paketų sąrašą ir įdiekite prieinamus atnaujinimus. Taip uždaromos žinomos jau įdiegtos programinės įrangos spragos.

apt update
apt upgrade -y

Kartais naujam branduoliui įdiegti reikia perkrovimo:

reboot

3 žingsnis. Sukurkite naują vartotoją

Nuolat dirbti su root nesaugu. Sukurkite atskirą vartotoją — komanda paprašys slaptažodžio ir neprivalomų duomenų.

adduser deploy

Vietoj deploy įrašykite bet kokį vardą. Nustatykite patikimą slaptažodį.

4 žingsnis. Suteikite sudo teises

Įtraukite vartotoją į grupę sudo, kad jis galėtų vykdyti administravimo komandas:

usermod -aG sudo deploy

Patikrinkite, ar teisės veikia. Prisijunkite nauju vartotoju ir įvykdykite:

su - deploy
sudo whoami

Jei atsakyme grįžo root — teisės suteiktos teisingai.

5 žingsnis. Nustatykite laiko juostą

Pagal numatymą serveris dažnai veikia UTC laiku. Žurnalus ir cron užduotis patogiau sekti nustačius reikiamą juostą:

sudo timedatectl set-timezone Europe/Riga

Patikrinkite rezultatą:

timedatectl

Peržiūrėti galimų juostų sąrašą:

timedatectl list-timezones | grep Europe

6 žingsnis. Įjunkite bazinę ugniasienę

Ubuntu turi patogią įrankį ufw. Leiskite SSH, HTTP ir HTTPS, tada įjunkite ugniasienę:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Patikrinkite būseną ir atvirus prievadus:

sudo ufw status verbose

Svarbu: pirmiausia leiskite SSH ir tik tada įjunkite ufw, kitaip rizikuojate prarasti prieigą prie serverio.

7 žingsnis. Nustatykite prisijungimą SSH raktais

Raktai patikimesni už slaptažodį. Savo kompiuteryje sugeneruokite porą (jei jos dar nėra) ir nukopijuokite viešąjį raktą į serverį:

ssh-keygen -t ed25519
ssh-copy-id deploy@JŪSŲ_IP

Po to faile /etc/ssh/sshd_config galima išjungti prisijungimą slaptažodžiu — plačiau atskirame SSH raktų vadove.

Bazinio konfigūravimo kontrolinis sąrašas

Užduotis Komanda Kam reikia
Atnaujinimas apt update && apt upgrade Uždaryti spragas
Vartotojas adduser deploy Nedirbti su root
Sudo teisės usermod -aG sudo deploy Administravimo komandos
Laiko juosta timedatectl set-timezone Teisingi žurnalai
Ugniasienė ufw enable Apriboti prievadus
SSH raktai ssh-copy-id Saugus prisijungimas

Dažni klausimai

Ar po apt upgrade reikia perkrauti serverį? Tik tuo atveju, jei atsinaujino branduolys arba sisteminės bibliotekos. Patikrinti galima komanda ls /var/run/reboot-required — jei failas yra, perkrovimas rekomenduojamas.

Ar galima ištrinti root vartotoją? Ne, root trinti negalima — tai sisteminė paskyra. Pakanka apriboti root prisijungimą per SSH parametru PermitRootLogin no faile sshd_config.

Ką daryti, jei pamiršau suteikti sudo ir atsijungiau nuo root? Prisijunkite iš naujo kaip root arba naudokite KVM konsolę serverio valdymo skydelyje ir pakartokite usermod -aG sudo.

Ar ugniasienė būtina? Labai pageidautina. Net bazinės ufw taisyklės sumažina atakų paviršių uždarydamos nereikalingus prievadus.

Apibendrinimas

Po šių žingsnių turite saugų startą: sistema atnaujinta, yra atskiras vartotojas su sudo, nustatyta laiko juosta ir įjungta ugniasienė. Toliau galima diegti žiniatinklio serverį, duomenų bazes ir programas.

Reikia serverio praktikai? Peržiūrėkite Linux VPS, pasirinkite planą skyriuje VPS nuoma arba užsisakykite Serverių administravimą, jei konfigūravimą patogiau patikėti specialistams.

Olga Naumova