Правки
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 1s

This commit is contained in:
2025-01-24 12:11:37 +03:00
parent 4ef1bedad7
commit 868dec5ab3

View File

@@ -1,17 +1,18 @@
# Начальная настройка сервера # Начальная настройка сервера
## Первое подключение ## Первое подключение
Подключаемся к серверу к `root` по паролю, который должен выдываться вместе с VDS. Подключаемся к серверу к `root` по паролю, который должен выдаваться вместе с VDS.
```sh ```sh
ssh root@<IPv4> ssh root@<IPv4>
``` ```
Уже в терминале сервера выполняем. Уже в терминале сервера выполняем.
```sh { .code-wrap } ```sh { .code-wrap }
# Создаём пользователя и наделяем его правом использовать `sudo`. # Создаём пользователя и наделяем правом использовать `sudo`.
adduser <user> adduser <user>
adduser <username> sudo adduser <username> sudo
# Переключаемся на нового пользователя
su - <user> su - <user>
# Все файлы, созданные пользователем, по умолчанию будут иметь права 600, а директории - 700. # Все файлы, созданные пользователем, по умолчанию будут иметь права 600, а директории - 700.
@@ -51,13 +52,13 @@ sudo systemctl restart systemd-hostnamed
sudo nano /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config
``` ```
- `Port <ssh-port>` - можно поменять со стандртного 22 на какой-нибудь другой. Лучше больше 10000, чтобы уменьшить вероятность конфликтов с другим ПО. - `Port <ssh-port>` - можно поменять со стандартного 22 на какой-нибудь другой. Лучше больше 10000, чтобы уменьшить вероятность конфликтов с другим ПО.
- `PermitRootLogin no` - запрещаем авторизацию по SSH под `root`. - `PermitRootLogin no` - запрещаем авторизацию по SSH под `root`.
- `PasswordAuthentication no` - запрещаем авторизацию по SSH по паролю. - `PasswordAuthentication no` - запрещаем авторизацию по SSH по паролю.
??? question "А что будет, если потерять SSH-ключ?" ??? question "А что будет, если потерять SSH-ключ?"
Обычно хостинг предоставляет доступ к `VNC` или другие методы подключения к серверу, которые не требуют подключения по SSH. Однако в таком случае будет необходим доступ к личному кабинету хостинга. Хостинг предоставляет доступ к `VNC` или другие методы подключения к серверу, которые не требуют подключения по SSH. Однако в таком случае будет необходим доступ к личному кабинету хостинга.
На своей машине добавляем сервер в конфиг SSH. На своей машине добавляем сервер в конфиг SSH.
@@ -108,7 +109,7 @@ sudo ufw status verbose
# Отключить фаерволл # Отключить фаерволл
sudo ufw disable sudo ufw disable
# Удалить правило (применятся настройки по умолчанию) # Удалить правило (будут применены настройки по умолчанию)
sudo ufw delete allow <port>/<protocol> # удалить разрешение sudo ufw delete allow <port>/<protocol> # удалить разрешение
sudo ufw delete deny <port>/<protocol> # удалить запрет sudo ufw delete deny <port>/<protocol> # удалить запрет
@@ -127,3 +128,22 @@ sudo ufw status verbose
# Разрешить доступ к порту с определённого IP-адреса # Разрешить доступ к порту с определённого IP-адреса
sudo ufw allow from <IPv4> to any port <port> sudo ufw allow from <IPv4> to any port <port>
``` ```
Некоторые приложения, например `OpenSSH` или `Nginx`, добавляют пресеты с правилами для `ufw`, которые точно так же можно разрешать и запрещать.
```sh
# Вывести список пресетов
sudo ufw app list
# Открыть все соединения, которые нужны Nginx
sudo ufw allow "Nginx Full"
# Удалить правило для пресета
sudo ufw delete allow "Nginx Full"
```
## Полезные ссылки
- [Initial Server Setup with Ubuntu 20.04](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04)
- [UFW Essentials: Common Firewall Rules and Commands](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands)
- [VPS cheatsheet](https://habr.com/ru/articles/756804/)