вторник, 19 мая 2026 г.

Как настроить SSH-ключи для входа без пароля (пошагово)

Надоело вводить пароль при каждом подключении к серверу? SSH-ключи решают проблему и безопаснее.


Шаг 1. Сгенерируйте ключи
ssh-keygen -t ed25519 -C "ваша@почта"
Нажимайте Enter (можно оставить без пароля).

Шаг 2. Посмотрите, что получилось
ls ~/.ssh/ — два файла: id_ed25519 (приватный, никому не давать) и id_ed25519.pub (публичный, можно показать).

Шаг 3. Скопируйте публичный ключ на сервер
ssh-copy-id user@server (введите пароль от сервера один раз).

Шаг 4. Проверьте
ssh user@server — зашли без пароля? Готово.

Шаг 5. (Опционально) отключите вход по паролю на сервере
sudo nano /etc/ssh/sshd_configPasswordAuthentication no
sudo systemctl restart sshd

📌 Совет: сделайте бэкап папки ~/.ssh — потеря ключа = потеря доступа.

среда, 22 апреля 2026 г.

Настройка безопасности на свежеустановленном сервере

1) Поставить fail2ban

sudo apt install fail2ban

Создать файл 

sudo nano /etc/fail2ban/jail.local


[DEFAULT]

bantime = 1h

findtime = 10m

maxretry = 5

#(чтобы себя не забанить, можно добавить ip и другие дополнительно сюда)

ignoreip = 127.0.0.1/8 

# backend логов (обычно auto)

backend = auto

[sshd]

enabled = true

port = ssh

logpath = %(sshd_log)s


Стартонуть сервис:

sudo systemctl start fail2ban.service


Проверить статус:

sudo systemctl status fail2ban.service


Автозапуск:

sudo systemctl enable fail2ban.service


Статус:

sudo fail2ban-client status

sudo fail2ban-client status sshd


2) Настроить фаирвол:

Проверить существующие правила:

sudo iptables -L -n -v

sudo nft list ruleset


Посмотреть что слушается на сервере:

sudo apt install net-tools

sudo netstat -tulpn


Поставить ufw

sudo apt install ufw


Базовые правила защиты активировать:

sudo ufw default deny incoming

sudo ufw default allow outgoing


Разрешить ssh 

sudo ufw allow OpenSSH


Включить фаирвол

sudo ufw enable


3) Обезопасить ssh

nano /etc/ssh/sshd_config

Изменить:

PermitRootLogin no

MaxAuthTries 3

ClientAliveInterval 300

ClientAliveCountMax 2

X11Forwarding no


Перезапуск:

sudo systemctl restart ssh


4) Сделать аудит системы на безопасность c помощью lynis:

cd /tmp

git clone https://github.com/CISOfy/lynis

cd lynis

sudo ./lynis audit system


вторник, 21 апреля 2026 г.

Быстрый разбор состояния контейнеров

Жив ли контейнер и что видно снаружи. Это стартовая точка. Тут не копаем глубоко - просто понимаем состояние системы: работает ли контейнер, есть ли нагрузка, и не падает ли он.


Показывает, какие контейнеры реально запущены и нет ли рестарт-циклов.

docker ps

Живая нагрузка по CPU, памяти и сети - быстрый индикатор перегруза.

docker stats

Последние события: ошибки, таймауты, неожиданные рестарты.

docker logs --tail 100 container

Вход внутрь контейнера как в обычную Linux-систему.

docker exec -it container sh

Реальные процессы и их нагрузка.

ps aux

Диск внутри контейнера - частая скрытая проблема.

df -h

вторник, 14 апреля 2026 г.

Bat — подсветка синтаксиса. Аналог Cat







Bat
 — клон команды cat с расширенной подсветкой синтаксиса для большого количества языков программирования и разметки, он также поставляется с интеграцией Git для демонстрации изменений файлов. Его другие функции включают автоматическое разбиение на страницы, объединение файлов, темы для подсветки синтаксиса и различные стили для представления результатов.


четверг, 9 апреля 2026 г.

Настройка zabbix агента на сервере для мониторинга в zabbix

На клиенте:

Открываешь конфиг:

sudo nano /etc/zabbix/zabbix_agentd.conf

Ключевые параметры:

Server=ip сервера
ServerActive=ip сервера
Hostname=хостнейм как в системе обезательно

Что это значит:

  • Server — кто может опрашивать (passive checks)
  • ServerActive — куда агент сам отправляет данные (active checks)
  • Hostname — ДОЛЖЕН совпадать с тем, что будет в Zabbix

Перезапуск агента

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

Проверка:

sudo systemctl status zabbix-agent

Проверка порта (очень важно)

Агент слушает 10050/tcp

На клиенте:

ss -tulnp | grep 10050

Если есть firewall:

sudo ufw allow 10050/tcp

Добавление хоста в Zabbix

В веб-интерфейсе Zabbix:

Configuration → Hosts → Create host

Заполняешь:

  • Host name:
     (должен совпадать с agent)
  • Interfaces:
    • IP: 
    • Port: 10050
  • Templates:
    • Linux by Zabbix agent

понедельник, 6 апреля 2026 г.

Glances - инструмент для мониторинга системы


Glances
 — это кросплатформенный инструмент для мониторинга системы на основе командной строки, написанный на языке Python, использующий библиотеку psutil для получения информации о системе. Так вы можете отслеживать использование процессора, средней нагрузки, памяти, сетевых интерфейсов, дискового ввода/вывода, процессов и файловой системы.

Информация о системе которая может выводится Glances:

  • Информация о процессоре (пользовательские приложения, системные программы и незанятые программы).

  • Общая информация о памяти, включая RAM, Swap, Free memory и т. д.

  • Средняя загрузка процессора за последние 1, 5 и 15 минут.

  • Скорость загрузки/выгрузки по сети.

  • Общее количество процессов, активных и спящих процессов и т. д.

  • Информация о скорости дискового ввода/вывода (чтение или запись).

  • Подключенные устройства, использующие диск в настоящее время.

  • top-процессы с использованием ЦП/памяти, именами и местоположением приложения.

  • Текущие дата и время.

  • Подсветка процесса, который потребляет максимальные системные ресурсы, красным цветом.

понедельник, 23 марта 2026 г.

Установка MTProto Proxy для Telegram на сервер с linux

 MTProto Proxy для Telegram

MTProto Proxy — это специальный прокси-сервер, который понимает только Telegram.

Telegram нативно его поддерживает, ничего дополнительного на телефон ставить не нужно.

────────────────────────────────────────────────────────────

Шаг 1. Подключись к серверу

Открой терминал (или PuTTY на Windows) и подключись по SSH:

ssh root@ТВОЙ_IP_АДРЕС

Замени ТВОЙ_IP_АДРЕС на реальный IP твоего сервера.

────────────────────────────────────────────────────────────

Шаг 2. Установи Docker

Docker позволяет запускать приложения в контейнерах — это как мини-виртуальные машины.

Нам он нужен чтобы запустить MTProto Proxy одной командой.

# Обновляем список пакетов и устанавливаем необходимые зависимости
apt update && apt upgrade -y
apt install -y curl wget sudo ufw

# Включаем файрволл (если ещё не включён)
ufw --force enable

# Устанавливаем Docker автоматически
curl -fsSL https://get.docker.com | sh

Подожди пока установка завершится (1-2 минуты).

────────────────────────────────────────────────────────────

Шаг 3. Запусти MTProto Proxy

# Запускаем официальный MTProto Proxy от Telegram
# Порт 443 — стандартный HTTPS-порт, выглядит безопасно
docker run -d \
  --name mtproto-proxy \
  --restart always \
  -p 443:443 \
  telegrammessenger/proxy:latest

Разберём параметры:

  • --name mtproto-proxy — даём контейнеру имя, чтобы легко управлять

  • --restart always — автоматически перезапускается при сбоях и при перезагрузке сервера

  • -p 443:443 — открываем порт 443 (TCP)

  • telegrammessenger/proxy:latest — официальный образ от Telegram

────────────────────────────────────────────────────────────

Шаг 4. Получи данные для подключения

Подожди 10 секунд и посмотри логи:

docker logs mtproto-proxy

В логах найди строки:

[*]   Secret 1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[*]   t.me link for secret 1: https://t.me/proxy?server=ТВОЙ_IP&port=443&secret=xxxxxxxxx

Сохрани эту ссылку — она нужна для подключения в Telegram.

────────────────────────────────────────────────────────────

Шаг 5. Открой порт в файрволле

# Разрешаем входящие подключения на порт 443 (TCP)
ufw allow 443/tcp

────────────────────────────────────────────────────────────

Шаг 6. Подключи прокси в Telegram

Вариант 1 — По ссылке (самый простой)

Открой ссылку https://t.me/proxy?server=... из шага 4 на телефоне.

Telegram автоматически предложит добавить прокси.

Вариант 2 — Вручную

  1. Откройте Настройки в Telegram

  2. Перейдите в Данные и хранилище → Прокси

  3. Нажмите Добавить прокси

  4. Выберите тип: MTPROTO

  5. Введите:

   - Сервер: IP-адрес вашего VPS

   - Порт: 443

   - Секрет: строка из шага 4

  1. Нажмите Сохранить и Подключить

────────────────────────────────────────────────────────────

Управление прокси

# Проверить работает ли прокси
docker ps

# Посмотреть логи
docker logs mtproto-proxy

# Перезапустить
docker restart mtproto-proxy

# Остановить
docker stop mtproto-proxy

# Запустить
docker start mtproto-proxy