<h4>litemesh [37.252.12.59]</h4>
<h6>Авторизация / управление</h6>
```bash
$ ssh litemesh@37.252.12.59
pass: Drink73Dkms5
```
```bash
$ sudo /etc/init.d/gogs retrart # перезагрузка git-сервера
$ sudo /etc/init.d/nginx restart
```
<h6>Оплата</h6>
https://cp.inferno.name
login/pass: glin@centor.ru / Цьсл43пьс
Next pay: 28/07/2024

<h6>Характеристики</h6>
```bash
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.5 LTS
Release:	12.04
Codename:	precise

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       25G   20G  5.1G  80% /
udev            242M  4.0K  242M   1% /dev
tmpfs            50M  168K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
```
<h6>SSH</h6>
Проблема с доступом к litemesh `ssh too many authentication failures`
Решение:
```bash
$ vim ~/.ssh/config
Host 37.252.12.59
	IdentitiesOnly=yes
```
<h4>MY [94.232.244.161]</h4>
https://pq.hosting/#nl
Статья по первоначальной настройке: https://habr.com/ru/articles/756804/
<h6>Настройка доступа</h6>
```bash
$ ssh -o PubkeyAuthentication=no root@94.232.244.161 # при возникновении проблем с доступом
# создал пользователя dmt
$ ssh-keygen -t rsa -b 4096 # сгенерить ключ (на локальной машине)
$ ssh-keygen -t ed25519 # другой алгоритм
$ scp .ssh/id_rsa.pub root@server_ip:/home/user_name/.ssh/ # скопировать ключ на сервер
$ sudo chown user:user ./ssh/id_rsa.pub изменяем владельца и группу на user
$ sudo chmod 600 .ssh/id_rsa.pub
$ sudo mv .ssh/id_rsa.pub .ssh/authorizid_keys
```

```bash
Локально
$ ssh -i .ssh/id_rsa user_name@server_ip # проверить соединение с новым ключом 
# -i указать конкретный ключ для подключения
```
Выключаем пользователя root, чтобы никаким способом нельзя было работать из под него. Меняем его shell на `/usr/sbin/nologin`, должно получиться вот так:
```bash
root:x:0:0:root:/root:/usr/sbin/nologin
```
Настройка ssh-сервера. Редактируем sshd_config
```
$ sudo vim /etc/ssh/sshd_config

# Зименить стандартный порт
Port xxxx 

# Запрет доступа по паролю
PasswordAuthentication no
PermitEmptyPasswords no

# Принудительная авторизация по ключу
PubkeyAuthentication yes

# 
KbInteractiveAuthentication no
```

```bash
$ sudo systemctl restart sshd # перезагрузка ssh-сервера
```
Настройка ssh-конфига (клиент)
```bash
$ vim .ssh/config
```

```bash
Host my_host_name
	HostName my_server_ip
	User user_name
	IdentitiesOnly yes
	IdentityFile ~/.ssh/my_public_key
	Port my_port
```
Теперь для подключения к серверу:
```bash
$ ssh my_host_name
```
<h6>Настройка софта на сервере</h6>
```bash
$ apt update && apt upgrade -y && reboot # обновить и ребут
$ apt install sudo # Debian по-умолчанию без sudo
$ useradd -m dmt -G sudo -s /bin/bash # создать нового пользователя dmt
```

```bash
$ sudo apt install git ufw nmap ten-tools curl
```
<h6>VPN wireguard</h6>
```bash
$ sudo apt install -y wireguard
$ cd /etc/wireguard
$ wg genkey | tee /etc/wireguard/privatkey | wg pubkey | tee /etc/wireguard/pubkey # создать ключи
```
Создать в `/etc/wireguard` файл `wg0.conf`:
```bash
[Interface]  
PrivateKey = <privatekey>  
Address = 10.0.0.1/24  
ListenPort = 51830  
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
```
Отредактировать файл wg0.conf
- В поле `PriveteKey` вставить содержимое файла /etc/wireguard/privatkey
- Заменить порт по-умолчанию.
- Важно указать правильное название сетевого интерфейса.
Настройка:
```bash
$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # ip-форвардинг
$ sysctl -p # проверить
$ systemctl enable wg-quick@wg0.service # настроить запуск
; systemctl start wg-quick@wg0.service # запуск
```
Настройка клиента:
```bash
$ wg genkey | tee /etc/wireguard/<privatekey_name> | wg pubkey | tee /etc/wireguard/<publickey_name>
```
Далее нужно добавить публичный ключ пользователя в wg0.conf
```bash
$ systemctl restart wg-quick@wg0.service # перезапустить wireguard
```
На стороне клиента создать конфиг:
```bash
[Interface]
PrivateKey = <user privatekey>
Address = 10.0.0.2/32 # IP-адрес клиента из конфига /etc/wireguard/wg0.conf
DNS = 8.8.8.8

[Peer]
PublicKey = <server pubkey>
Endpoint = <server IP>:<VPN port>
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
```
Настройка клиента в Linux:
```bash
$ sudo apt install wireguard 
# При необходимости установить:
$ sudo apt install resolvconf iptables
# Поместить конфиг wg0.conf в /etc/wireguard/
$ wg-quick up wg0 # подключиться к серверу
$ sudo wg show # проверить статус
$ sudo systemctl enable wg-quick@wg0.service # добавить в автозагрузку
$ sudo systemctl start wg-quick@wg0.service # запустить
$ sudo systemctl status wg-quick@wg0.service # проверить статус
```
<h6>Оплата</h6>
- [x] 20.05.24
- [ ] 20.06.24