Konfiguracja serwera VPS Debian 11 z ovh (LEMP, Letsencrypt certbot, logowanie z kluczami ssh, serwer smtp do wysyłania wiadomości email, ufw firewall).
sudo apt install git
git clone https://github.com/atomjoy/vps.git
Utwórz recordy A w strefie DNS dla hostów swojej domeny (certbot ssl):
hello.example.com
www.hello.example.com
# Utwórz hasło root
sudo passwd root
# Zaloguj jako root
su
# Zmień hasło użytkownika debian (opcjonalnie)
sudo passwd debian
# Utwórz klucz rsa ~/.ssh/id_rsa
ssh-keygen -t rsa -C "your_email@example.com"
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Utwórz klucz Ed25519 (można użyć do logowania na githuba np.)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Wyślij na serwer
ssh-copy-id -i ~/.ssh/id_rsa.pub $vps_user@$vps_host_or_ip
Logowanie tylko z kluczami ssh, bez hasła i logowania na root.
# Ustaw wcześniej klucze ssh dla zalogowanego użytkownika !!!
sudo bash ssh.sh
Nie zapomij zmienić ustawienia w każdym skrypcie (variables) !!!
- sudo bash hostname.sh
- sudo bash ssl-snakeoil.sh
- sudo bash apt-https.sh
- sudo bash ufw.sh
- sudo bash php.sh
- sudo bash nginx.sh
- sudo bash certbot.sh
- sudo bash nginx-vhost.sh
- sudo bash postfix.sh
- sudo bash mariadb.sh
- sudo bash remove-sudo-default-user.sh
sudo bash remove-sudo-user.sh
# Hostname
sudo hostnamectl set-hostname hello.example.com
# Change hosts etc/hosts
127.0.0.1 example.com hello.example.com hello localhost
# Certyfikat snakeoil
sudo apt install ssl-cert
# Aktualizacja certyfikatu snakeoil
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
# Podgląd certyfikatu ssl
openssl x509 -noout -subject -in /etc/ssl/certs/ssl-cert-snakeoil.pem
# Połącz z serwerem smtp :25 :578
openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25
# Połącz z serwerem smtp
telnet localhost 25
# Test http/https
wget --no-check-certificate https://example.com
sed -i '/inet_interfaces/d' /etc/postfix/main.cf
sudo apt install mailutils postfix
# Linux mail
echo "Test email `date`" | mail -s "Welcome today is `date`" your_email@gmail.com
# Linux mailx
echo "From test `date`" | mailx -s "From address test" -a 'From: Admin Root <root@example.com>' your_email@gmail.com
# With bash MAILNAME=example.com
echo "From test `date`" | mailx -s "Welcome message `date`" -a "From: Admin Root <root@${MAILNAME}>" $TESTMAIL