$ ssh litemesh@37.252.12.59
pass: Drink73Dkms5
$ sudo /etc/init.d/gogs retrart # перезагрузка git-сервера
$ sudo /etc/init.d/nginx restart
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
ssh too many authentication failures
Решение:
$ vim ~/.ssh/config
Host 37.252.12.59
IdentitiesOnly=yes
$ 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
Локально
$ ssh -i .ssh/id_rsa user_name@server_ip # проверить соединение с новым ключом
# -i указать конкретный ключ для подключения
Выключаем пользователя root, чтобы никаким способом нельзя было работать из под него. Меняем его shell на /usr/sbin/nologin
, должно получиться вот так:
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
$ sudo systemctl restart sshd # перезагрузка ssh-сервера
Настройка ssh-конфига (клиент)
$ vim .ssh/config
Host my_host_name
HostName my_server_ip
User user_name
IdentitiesOnly yes
IdentityFile ~/.ssh/my_public_key
Port my_port
Теперь для подключения к серверу:
$ ssh my_host_name
$ apt update && apt upgrade -y && reboot # обновить и ребут
$ apt install sudo # Debian по-умолчанию без sudo
$ useradd -m dmt -G sudo -s /bin/bash # создать нового пользователя dmt
$ sudo apt install git ufw nmap ten-tools curl
$ sudo apt install -y wireguard
$ cd /etc/wireguard
$ wg genkey | tee /etc/wireguard/privatkey | wg pubkey | tee /etc/wireguard/pubkey # создать ключи
Создать в /etc/wireguard
файл wg0.conf
:
[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Важно указать правильное название сетевого интерфейса. Настройка:
$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # ip-форвардинг
$ sysctl -p # проверить
$ systemctl enable wg-quick@wg0.service # настроить запуск
; systemctl start wg-quick@wg0.service # запуск
Настройка клиента:
$ wg genkey | tee /etc/wireguard/<privatekey_name> | wg pubkey | tee /etc/wireguard/<publickey_name>
Далее нужно добавить публичный ключ пользователя в wg0.conf
$ systemctl restart wg-quick@wg0.service # перезапустить wireguard
На стороне клиента создать конфиг:
[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:
$ 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 # проверить статус