Настройка сервера
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 2s

This commit is contained in:
2025-01-23 22:21:16 +03:00
parent 25cc09b930
commit 0f7e022a5f

View File

@@ -1,38 +1,81 @@
# Servers
# Начальная настройка сервера
## Первое подключение
Подключаемся к серверу к `root` по паролю, который должен выдываться вместе с VDS.
```sh
ssh root@<IPv4>
```
Создаём пользователя с правом использовать `sudo`.
```sh
Уже в терминале сервера выполняем.
```sh { .code-wrap }
# Создаём пользователя и наделяем его правом использовать `sudo`.
adduser <user>
sudo adduser <username> sudo
adduser <username> sudo
su - <user>
# Все файлы, созданные пользователем, по умолчанию будут иметь права 600, а директории - 700.
echo 'umask 0077' >> .bashrc
source ~/.bashrc
# Добавляем свой публичный SSH ключ (cat ~/.ssh/id_rsa.pub), чтобы подключаться к пользователю по SSH напрямую.
mkdir .ssh
# cat ~/.ssh/id_rsa.pub
echo "<your-id-rsa.pub>" >> .ssh/authorized_keys
# Актуально, только если настройку umask не добавлять в .bashrc
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
```
Придумываем имя новому серверу.
Теперь можно попробовать подключиться к серверу по SSH-ключу.
```sh
ssh <user>@<IPv4>
```
Желательно обновить все пакеты.
```sh
sudo apt update
sudo apt upgrade
```
Можно придумать серверу имя, оно будет отображаться в терминале после `<user>@`.
```sh
sudo nano /etc/hostname
sudo nano /etc/hosts
sudo systemctl restart systemd-hostnamed
```
## Настройка конфига SSH
Открываем конфиг SSH.
```sh
sudo nano /etc/ssh/sshd_config
```
- `Port <ssh-port>` - можно поменять со стандртного 22 на какой-нибудь другой. Лучше больше 10000, чтобы уменьшить вероятность конфликтов с другим ПО.
- `PermitRootLogin no` - запрещаем авторизацию по SSH под `root`.
- `PasswordAuthentication no` - запрещаем авторизацию по SSH по паролю.
??? question "А что будет, если потерять SSH-ключ?"
Обычно хостинг предоставляет доступ к `VNC` или другие методы подключения к серверу, которые не требуют подключения по SSH. Однако в таком случае будет необходим доступ к личному кабинету хостинга.
На своей машине добавляем сервер в конфиг SSH.
```sh
# На Windows надо будет нажать на Tab, чтобы раскрыть `~`.
# code - VS Code
code ~/.ssh/config
```
```
Host <hostname>
Host <host>
HostName <IPv4>
User <user>
Port <ssh-port>
```
Можно проверить, что подключение проходит без ошибок
```sh
ssh <host>
```