Перейти к содержимому

Devops

52 страницы
  • исправление утечек памяти в python-сервисах: диагностика и сбор дампов

    Раздел: Посты Слов: 827 4 мин

    PythonDevopsSecurityLinux

    Python-сервисы под нагрузкой могут silently расходовывать память до hitting cgroup limit и OOM-kill. Без систематического сбора дампов и интроспекции root-cause hunt превращается в перебор гипотез. Ниже — проверенный набор команд и скриптов для …

    Python-сервисы под нагрузкой могут silently расходовывать память до hitting cgroup limit и OOM-kill. Без систематического сбора дампов и интроспекции root-cause hunt превращается в перебор гипотез. Ниже — проверенный набор команд и скриптов для …

  • kubectl cheatsheet: основные команды для работы с Kubernetes

    Раздел: Посты Слов: 660 4 мин

    KubernetesKubectlDevopsCliLinux

    kubectl — основной инструмент взаимодействия с Kubernetes-кластером. Ниже собрана шпаргалка по рутинным операциям: от настройки контекста до отладки подов и переключения между namespace. Все команды проверены на актуальных версиях kubectl (1.28+). …

    kubectl — основной инструмент взаимодействия с Kubernetes-кластером. Ниже собрана шпаргалка по рутинным операциям: от настройки контекста до отладки подов и переключения между namespace. Все команды проверены на актуальных версиях kubectl (1.28+). …

  • Создание пользователя, роли в Kubernetes и их связка через RBAC

    Раздел: Посты Слов: 517 3 мин

    KubernetesRbacDevopsSecurityLinux

    В Kubernetes нет отдельных «пользователей» в классическом смысле — есть ServiceAccount’ы и сертификаты, привязанные к ролям через RBAC. Без правильной настройки любой, у кого есть kubeconfig, получает доступ ко всему кластеру. Ниже — полный цикл: …

    В Kubernetes нет отдельных «пользователей» в классическом смысле — есть ServiceAccount’ы и сертификаты, привязанные к ролям через RBAC. Без правильной настройки любой, у кого есть kubeconfig, получает доступ ко всему кластеру. Ниже — полный цикл: …

  • Git Tag: разметка релизов и закладки в истории

    Раздел: Посты Слов: 524 3 мин

    GitDevopsVersioningCli

    Git Tag: разметка релизов и закладки в истории Теги — это механизм Git для присвоения осмысленных меток конкретным коммитам. В отличие от веток, теги не двигаются: они зафиксированы в точке коммита и служат якорями для релизов, версий и важных …

    Git Tag: разметка релизов и закладки в истории Теги — это механизм Git для присвоения осмысленных меток конкретным коммитам. В отличие от веток, теги не двигаются: они зафиксированы в точке коммита и служат якорями для релизов, версий и важных …

  • ulimit и systemd LimitNOFILE — почему ulimit -n в unit не живёт

    Раздел: Посты Слов: 542 3 мин

    LinuxSystemdDevops

    Что такое nofile и где он живёт nofile — максимальное количество открытых файловых дескрипторов на один процесс. Это не только обычные файлы, а сокеты, pipe, stdin/stdout/stderr, логи через journald — всё считается. Когда nginx или Go-приложение …

    Что такое nofile и где он живёт nofile — максимальное количество открытых файловых дескрипторов на один процесс. Это не только обычные файлы, а сокеты, pipe, stdin/stdout/stderr, логи через journald — всё считается. Когда nginx или Go-приложение …

  • Git hook post-receive для деплоя на сервере

    Раздел: Посты Слов: 513 3 мин

    GitDevopsDeploymentLinuxShellHooks

    Деплой через CI — это хорошо, но иногда нужно просто закинуть код на сервер одним git push. post-receive hook в bare-репозитории решает эту задачу без лишних зависимостей: пушитшь на сервер — хук автоматически вытягивает файлы в рабочую директорию. …

    Деплой через CI — это хорошо, но иногда нужно просто закинуть код на сервер одним git push. post-receive hook в bare-репозитории решает эту задачу без лишних зависимостей: пушитшь на сервер — хук автоматически вытягивает файлы в рабочую директорию. …

  • ThinLinc: удалённый доступ к Linux-рабочим столам

    Раздел: Посты Слов: 596 3 мин

    ThinlincLinuxRemote-DesktopVncDevops

    ThinLinc: удалённый доступ к Linux-рабочим столам В корпоративной среде удалённый доступ к Linux-рабочим столам часто сводится к VNC с нестабильным шифрованием или RDP-прокси, требующим костылей. ThinLinc от Cendio — это полноценное решение для …

    ThinLinc: удалённый доступ к Linux-рабочим столам В корпоративной среде удалённый доступ к Linux-рабочим столам часто сводится к VNC с нестабильным шифрованием или RDP-прокси, требующим костылей. ThinLinc от Cendio — это полноценное решение для …

  • Sudoers: NOPASSWD без дыр

    Раздел: Посты Слов: 479 3 мин

    LinuxSecurityDevopsSudo

    Почему NOPASSWD + ALL — это не решение, а дыра %admin ALL=(ALL) NOPASSWD: ALL — самая частая ошибка в sudoers. Пользователь получает неограниченный root-доступ без пароля. Любой скрипт, любая утилита, любая уязвимость в окружении пользователя …

    Почему NOPASSWD + ALL — это не решение, а дыра %admin ALL=(ALL) NOPASSWD: ALL — самая частая ошибка в sudoers. Пользователь получает неограниченный root-доступ без пароля. Любой скрипт, любая утилита, любая уязвимость в окружении пользователя …

  • scp — передача файлов по SSH

    Раздел: Посты Слов: 396 2 мин

    LinuxSshDevopsSecurityNetworking

    scp — утилита для копирования файлов по SSH поверх протокола SSH. Работает из терминала, не требует настройки сервера сверху — достаточно работающего sshd и авторизации. В эпоху rsync и bat SCP живёт как простой инструмент для разовых передач, когда …

    scp — утилита для копирования файлов по SSH поверх протокола SSH. Работает из терминала, не требует настройки сервера сверху — достаточно работающего sshd и авторизации. В эпоху rsync и bat SCP живёт как простой инструмент для разовых передач, когда …

  • Docker logs и journald: выбор драйвера логирования

    Раздел: Посты Слов: 672 4 мин

    DockerDevopsLinuxLoggingSystemd

    Когда контейнер падает, логи — первое, что нужно увидеть. docker logs выглядит просто, но под капотом работает разные драйверы логирования, и выбор влияет на то, как хранятся, вращаются и доступны логи. Вот что стоит знать перед тем, как доверять …

    Когда контейнер падает, логи — первое, что нужно увидеть. docker logs выглядит просто, но под капотом работает разные драйверы логирования, и выбор влияет на то, как хранятся, вращаются и доступны логи. Вот что стоит знать перед тем, как доверять …

  • curl --resolve и SNI: проверка виртуального хоста без /etc/hosts

    Раздел: Посты Слов: 387 2 мин

    CurlTlsDevopsLinuxSecurity

    Когда нужно проверить виртуальный хост на конкретном IP, но править /etc/hosts нет желания — ни из-за прав, ни из-за конфликтов с другими сервисами — curl --resolve решает обе задачи: подменяет DNS-запись и корректно отправляет SNI в TLS-хендшейке. …

    Когда нужно проверить виртуальный хост на конкретном IP, но править /etc/hosts нет желания — ни из-за прав, ни из-за конфликтов с другими сервисами — curl --resolve решает обе задачи: подменяет DNS-запись и корректно отправляет SNI в TLS-хендшейке. …

  • coredumpctl: найти падение бинаря

    Раздел: Посты Слов: 517 3 мин

    LinuxDevopsDebuggingSystemd

    Что такое coredumpctl и как он работает Когда бинарь падает с SEGV, ядро может сохранить core dump — снимок памяти процесса в момент креша. В systemd-based дистрибутивах за сбор, хранение и поиск этих дампов отвечёт coredumpctl, обёртка над …

    Что такое coredumpctl и как он работает Когда бинарь падает с SEGV, ядро может сохранить core dump — снимок памяти процесса в момент креша. В systemd-based дистрибутивах за сбор, хранение и поиск этих дампов отвечёт coredumpctl, обёртка над …

  • nftables: базовый набор правил

    Раздел: Посты Слов: 622 3 мин

    LinuxDevopsSecurityNetworking

    Примечание Все команды проверены на Debian/Ubuntu с пакетом nftables и на RHEL/CentOS 8+. На старых системах может потребоваться apt install nftables или yum install nftables. nftables пришёл на смену iptables, но документация по базовому набору …

    Примечание Все команды проверены на Debian/Ubuntu с пакетом nftables и на RHEL/CentOS 8+. На старых системах может потребоваться apt install nftables или yum install nftables. nftables пришёл на смену iptables, но документация по базовому набору …

  • journalctl: фильтры и follow

    Раздел: Посты Слов: 403 2 мин

    LinuxDevopsSystemdLogs

    Системный журнал systemd — это первое место, куда нужно смотреть, когда сервис упал или узел начал жрать CPU. journalctl умеет гораздо больше, чем вывести весь лог подряд: фильтровать по юнитам, приоритетам, временным окнам и читать в реальном …

    Системный журнал systemd — это первое место, куда нужно смотреть, когда сервис упал или узел начал жрать CPU. journalctl умеет гораздо больше, чем вывести весь лог подряд: фильтровать по юнитам, приоритетам, временным окнам и читать в реальном …

  • fail2ban: jail для sshd

    Раздел: Посты Слов: 445 3 мин

    LinuxSshSecurityDevops

    Защита SSH от брутфорса — один из первых шагов при укреплении сервера. fail2ban сканирует логи, находит повторные неудачные попытки входа и блокирует источник через iptables или nftables. В заметке разберём jail для sshd: от установки до тонкой …

    Защита SSH от брутфорса — один из первых шагов при укреплении сервера. fail2ban сканирует логи, находит повторные неудачные попытки входа и блокирует источник через iptables или nftables. В заметке разберём jail для sshd: от установки до тонкой …

  • Chrony вместо ntpd

    Раздел: Посты Слов: 395 2 мин

    LinuxNtpDevopsTime-SyncSystemd

    В Debian/Ubuntu и RHEL/CentOS ntpd давно пора менять на chrony. Он быстрее сходится к точному времени, лучше работает при нестабильных сетях и меньше нагружает систему. В современных дистрибутивах chrony уже стоит по умолчанию — но если он ещё не …

    В Debian/Ubuntu и RHEL/CentOS ntpd давно пора менять на chrony. Он быстрее сходится к точному времени, лучше работает при нестабильных сетях и меньше нагружает систему. В современных дистрибутивах chrony уже стоит по умолчанию — но если он ещё не …

  • Debian — Швейцарский нож в мире Linux

    Раздел: Посты Слов: 821 4 мин

    LinuxDebianDevopsPackagingSysadmin

    Debian — это не самый яркий дистрибутив, но самый надёжный фундамент в мире Linux. За ним стоит крупнейшее сообщество волонтёров-разработчиков, а за его плечами — десятилетия безотказной работы серверов, встраиваемых систем и облачной инфраструктуры. …

    Debian — это не самый яркий дистрибутив, но самый надёжный фундамент в мире Linux. За ним стоит крупнейшее сообщество волонтёров-разработчиков, а за его плечами — десятилетия безотказной работы серверов, встраиваемых систем и облачной инфраструктуры. …

  • pipx: изолированные Python-утилиты без боли

    Раздел: Посты Слов: 618 3 мин

    PythonDevopsCliLinuxSecurity

    pipx решает простую, но хроническую проблему: когда нужно запустить Python-утилиту однажды или разово, а pip install засоряет глобальное окружение или требует виртуальное окружение, которое потом забываешь удалить. pipx создаёт изолированное venv для …

    pipx решает простую, но хроническую проблему: когда нужно запустить Python-утилиту однажды или разово, а pip install засоряет глобальное окружение или требует виртуальное окружение, которое потом забываешь удалить. pipx создаёт изолированное venv для …

  • uv — быстрый менеджер пакетов Python

    Раздел: Посты Слов: 516 3 мин

    PythonDevopsLinux

    Что такое uv uv — менеджер пакетов Python, написанный на Rust. Решает одну проблему: стандартный pip медленно разрешает зависимости, а poetry добавляет свою модель проектов поверх PEP 621. uv работает поверх pyproject.toml, совместим с PEP 621 и PEP …

    Что такое uv uv — менеджер пакетов Python, написанный на Rust. Решает одну проблему: стандартный pip медленно разрешает зависимости, а poetry добавляет свою модель проектов поверх PEP 621. uv работает поверх pyproject.toml, совместим с PEP 621 и PEP …

  • Создание своего SSH-бастион-сервера

    Раздел: Посты Слов: 692 4 мин

    LinuxSshSecurityDevopsNetworking

    Зачем нужен бастион и где он живёт Бастион — единственная точка входа в приватный сегмент сети. Вместо того чтобы открывать SSH на каждом сервере из интернета, вы пускаете трафик через один хост, на котором настроена жёсткая политика доступа. …

    Зачем нужен бастион и где он живёт Бастион — единственная точка входа в приватный сегмент сети. Вместо того чтобы открывать SSH на каждом сервере из интернета, вы пускаете трафик через один хост, на котором настроена жёсткая политика доступа. …

  • tmux на проде после Screen

    Раздел: Посты Слов: 609 3 мин

    LinuxDevopsSsh

    Почему перешли с Screen на tmux Screen был нашим инструментом номер один ещё лет пять назад. Но после миграции кластера на новые серверы стало очевидно: screen теряет сессию при обрыве SSH, если не настроен hardstatus, а восстановление через screen …

    Почему перешли с Screen на tmux Screen был нашим инструментом номер один ещё лет пять назад. Но после миграции кластера на новые серверы стало очевидно: screen теряет сессию при обрыве SSH, если не настроен hardstatus, а восстановление через screen …

  • Rsync: бэкап каталога по SSH

    Раздел: Посты Слов: 376 2 мин

    LinuxSshDevopsSecurity

    Rsync: бэкап каталога по SSH Классический способ переложить каталог на удалённую машину — rsync поверх SSH. Не нужно открывать дополнительных портов, трафик шифруется, а сам инструмент умеет докачивать изменения и сохранять метаданные. Одна команда — …

    Rsync: бэкап каталога по SSH Классический способ переложить каталог на удалённую машину — rsync поверх SSH. Не нужно открывать дополнительных портов, трафик шифруется, а сам инструмент умеет докачивать изменения и сохранять метаданные. Одна команда — …

  • logrotate для своих демонов

    Раздел: Посты Слов: 569 3 мин

    LinuxDevopsLoggingSystemd

    Логи демона разрастаются, а ротации нет — файл достигает десятков гигабайт, диск забивается, мониторинг ругается. systemd-journald и syslog-ng умеют вращать сами, но если у тебя свой демон пишет напрямую в файл, ротацию несёт logrotate. Вот как его …

    Логи демона разрастаются, а ротации нет — файл достигает десятков гигабайт, диск забивается, мониторинг ругается. systemd-journald и syslog-ng умеют вращать сами, но если у тебя свой демон пишет напрямую в файл, ротацию несёт logrotate. Вот как его …

  • ip: сетевая настройка и диагностика в CLI

    Раздел: Посты Слов: 1094 6 мин

    LinuxNetworkCliDevops

    Когда привычный ifconfig выдаёт пустую строку, а настройка маршрута через route требует отдельной команды — это не баг системы. Это iproute2, который в современных дистрибутивах вытеснил net-tools. Утилита ip из пакета iproute2 — стандартный …

    Когда привычный ifconfig выдаёт пустую строку, а настройка маршрута через route требует отдельной команды — это не баг системы. Это iproute2, который в современных дистрибутивах вытеснил net-tools. Утилита ip из пакета iproute2 — стандартный …

  • ProxyJump и bastion-хосты через ~/.ssh/config

    Раздел: Посты Слов: 610 3 мин

    SshDevopsSecurityLinuxNetworking

    Иногда сервер живет в приватной сети, без публичного IP. Единственная точка входа — bastion host с белым адресом. Руками набирать ssh -J user@bastion user@private каждый раз — лишняя боль. Разберу, как настроить всё через ~/.ssh/config, чтобы ходить …

    Иногда сервер живет в приватной сети, без публичного IP. Единственная точка входа — bastion host с белым адресом. Руками набирать ssh -J user@bastion user@private каждый раз — лишняя боль. Разберу, как настроить всё через ~/.ssh/config, чтобы ходить …

  • journalctl: фильтрация и форматирование логов systemd

    Раздел: Посты Слов: 804 4 мин

    LinuxSystemdTroubleshootingDevops

    Логи пропали. Сервер перезагрузили — и привычный less /var/log/syslog молчит. В современных дистрибутивах с systemd логи собирает journald, а читает их journalctl. Если не знать его фильтры, работа с системой превращается в гадание. Почему логи …

    Логи пропали. Сервер перезагрузили — и привычный less /var/log/syslog молчит. В современных дистрибутивах с systemd логи собирает journald, а читает их journalctl. Если не знать его фильтры, работа с системой превращается в гадание. Почему логи …

  • systemd-run: запуск сервиса без unit-файла

    Раздел: Посты Слов: 595 3 мин

    LinuxSystemdDevopsSecurity

    Иногда нужно быстро поднять процесс под systemd, но писать unit-файл и класть его в /etc/systemd/system лень или нельзя — контейнер без systemd, чужая машина, временный запуск. На этот случай есть systemd-run. Зачем systemd-run Инструмент создает …

    Иногда нужно быстро поднять процесс под systemd, но писать unit-файл и класть его в /etc/systemd/system лень или нельзя — контейнер без systemd, чужая машина, временный запуск. На этот случай есть systemd-run. Зачем systemd-run Инструмент создает …

  • sshd_config: минимум для стенда

    Раздел: Посты Слов: 471 3 мин

    SshSecurityLinuxDevops

    SSH-доступ к стенду обычно открывают по-быстрому, а потом удивляются брутфорсу в логах. Базовый sshd_config, который отсекает типовые проблемы, укладывается в пять параметров и двадцать минут. Зачем менять умолчания Дистрибутивные sshd идут с …

    SSH-доступ к стенду обычно открывают по-быстрому, а потом удивляются брутфорсу в логах. Базовый sshd_config, который отсекает типовые проблемы, укладывается в пять параметров и двадцать минут. Зачем менять умолчания Дистрибутивные sshd идут с …

  • logrotate: автоматическая ротация и архивация логов

    Раздел: Посты Слов: 595 3 мин

    LinuxDevopsSecurity

    Логи приложений забивают диск за неделю, а rm *.log вручную — путь к проблемам. logrotate решает это сам: ротирует, сжимает и удаляет старые файлы по расписанию. Разберёмся, как это работает и как настроить за пять минут. Как это устроено logrotate …

    Логи приложений забивают диск за неделю, а rm *.log вручную — путь к проблемам. logrotate решает это сам: ротирует, сжимает и удаляет старые файлы по расписанию. Разберёмся, как это работает и как настроить за пять минут. Как это устроено logrotate …

  • mc — консольный клиент S3

    Раздел: Посты Слов: 687 4 мин

    LinuxS3MinioDevops

    S3-хранилища — стандарт де-факто для объектных бакетов, бэкапов и статики. Когда AWS CLI кажется избыточным, а веб-консоль неудобной, выручает MinIO Client (mc). Это консольный инструмент для любого S3-совместимого хранилища: MinIO, Yandex Cloud, AWS …

    S3-хранилища — стандарт де-факто для объектных бакетов, бэкапов и статики. Когда AWS CLI кажется избыточным, а веб-консоль неудобной, выручает MinIO Client (mc). Это консольный инструмент для любого S3-совместимого хранилища: MinIO, Yandex Cloud, AWS …

  • ethtool: диагностика и тюнинг сетевого интерфейса

    Раздел: Посты Слов: 890 5 мин

    LinuxNetworkEthtoolDevops

    Проблемы с сетевой картой редко видны снаружи — интерфейс поднят, IP назначен, iptables молчит, а потери пакетов или микрофризы проявляются только под нагрузкой. ethtool даёт прямой доступ к состоянию железа, драйвера и offload-механизмов, которые не …

    Проблемы с сетевой картой редко видны снаружи — интерфейс поднят, IP назначен, iptables молчит, а потери пакетов или микрофризы проявляются только под нагрузкой. ethtool даёт прямой доступ к состоянию железа, драйвера и offload-механизмов, которые не …

  • curl: отладка HTTP в терминале

    Раздел: Посты Слов: 495 3 мин

    LinuxHttpDebuggingDevopsCli

    cURL — стандартный инструмент отладки HTTP в терминале. Работает из коробки в Linux и macOS, есть в большинстве Docker-образов. Если нужно быстро проверить API, посмотреть заголовки ответа или отловить проблему с редиректом — одной строки достаточно. …

    cURL — стандартный инструмент отладки HTTP в терминале. Работает из коробки в Linux и macOS, есть в большинстве Docker-образов. Если нужно быстро проверить API, посмотреть заголовки ответа или отловить проблему с редиректом — одной строки достаточно. …

  • tcpdump и tshark: захват и анализ пакетов в CLI

    Раздел: Посты Слов: 709 4 мин

    LinuxNetworkTcpdumpTsharkDevops

    При отладке сетевых проблем в Linux-инфраструктуре недостаточно ping и curl. Иногда нужно посмотреть, что реально ходит по проводу. tcpdump — стандартный инструмент для захвата пакетов из CLI. tshark — его побратим из набора Wireshark, удобный для …

    При отладке сетевых проблем в Linux-инфраструктуре недостаточно ping и curl. Иногда нужно посмотреть, что реально ходит по проводу. tcpdump — стандартный инструмент для захвата пакетов из CLI. tshark — его побратим из набора Wireshark, удобный для …

  • SSH Config: wildcards и подстановка переменных

    Раздел: Посты Слов: 800 4 мин

    SshSecurityDevopsLinux

    SSH-клиент читает ~/.ssh/config строчку за строчкой, но без переменных файл быстро превращается в копипасту. Разбираю, как Host *, Match exec и подстановки %h, %r, %l сокращают конфиг в разы и закрывают реальные сценарии — от динамической …

    SSH-клиент читает ~/.ssh/config строчку за строчкой, но без переменных файл быстро превращается в копипасту. Разбираю, как Host *, Match exec и подстановки %h, %r, %l сокращают конфиг в разы и закрывают реальные сценарии — от динамической …

  • Что такое Self-Hosted и почему она так популярна

    Раздел: Посты Слов: 764 4 мин

    Self-HostedPrivacyDevopsInfraOpen-Source

    Вы платите за подписку на Notion, Dropbox и Google Drive. Затем Notion повышает цену, Dropbox ограничивает хранилище, а Google «улучшает» интерфейс Docs. Самостоятельный хостинг — это когда вы берёте инфраструктуру в свои руки и перестаёте зависеть …

    Вы платите за подписку на Notion, Dropbox и Google Drive. Затем Notion повышает цену, Dropbox ограничивает хранилище, а Google «улучшает» интерфейс Docs. Самостоятельный хостинг — это когда вы берёте инфраструктуру в свои руки и перестаёте зависеть …

  • Создание собственной службы Systemd

    Раздел: Посты Слов: 539 3 мин

    LinuxSystemdDevopsService

    Приложение нужно запускать при старте сервера, перезапускать при падении и вести логи. Shell-скрипты в /etc/rc.local не дают ни перезапуска, ни зависимостей. Systemd решает всё это одной декларацией. Зачем писать свой unit-файл Вместо скриптов и …

    Приложение нужно запускать при старте сервера, перезапускать при падении и вести логи. Shell-скрипты в /etc/rc.local не дают ни перезапуска, ни зависимостей. Systemd решает всё это одной декларацией. Зачем писать свой unit-файл Вместо скриптов и …

  • SSH escape-последовательности: оживление зависшего терминала

    Раздел: Посты Слов: 618 3 мин

    SshLinuxDevopsTroubleshooting

    SSH-сессия зависла, Ctrl+C не помогает, Ctrl+D вываливает мусор — знакомая картина. Прежде чем закрывать терминал и терять сессию, попробуй встроенные escape-последовательности. Они работают на уровне SSH-клиента до того, как данные попадут на …

    SSH-сессия зависла, Ctrl+C не помогает, Ctrl+D вываливает мусор — знакомая картина. Прежде чем закрывать терминал и терять сессию, попробуй встроенные escape-последовательности. Они работают на уровне SSH-клиента до того, как данные попадут на …

  • socat: проброс Unix-сокетов через TCP

    Раздел: Посты Слов: 682 4 мин

    LinuxNetworkingSocketsDevops

    Иногда нужно обратиться к Unix-сокету с хоста, где этот сокет физически не существует. SSH-туннель не поможет — он работает с TCP-портами. socat решает эту задачу: поднимает TCP- listener и пробрасывает соединения в Unix-сокет, а клиенту достаточно …

    Иногда нужно обратиться к Unix-сокету с хоста, где этот сокет физически не существует. SSH-туннель не поможет — он работает с TCP-портами. socat решает эту задачу: поднимает TCP- listener и пробрасывает соединения в Unix-сокет, а клиенту достаточно …

  • cockpit-ufw-module: Uncomplicated Firewall в Cockpit

    Раздел: Посты Слов: 598 3 мин

    CockpitLinuxDevopsSecurityUfw

    UFW на домашнем или небольшом сервере обычно настраивают по SSH: ufw status numbered, затем ufw allow 443/tcp. cockpit-ufw-module закрывает тот же цикл в браузере: пакет, статус, политики, правила. Это одна из панелей группы cockpit-modules — пункт …

    UFW на домашнем или небольшом сервере обычно настраивают по SSH: ufw status numbered, затем ufw allow 443/tcp. cockpit-ufw-module закрывает тот же цикл в браузере: пакет, статус, политики, правила. Это одна из панелей группы cockpit-modules — пункт …

  • systemd-timer: планирование вместо cron

    Раздел: Посты Слов: 680 4 мин

    LinuxSystemdDevops

    cron работает, но его логи — текстовый файл без структуры, а зависимости от сервисов приходится городить через костыли вроде Requires= в shell-скрипте. systemd-timer решает это: единый интерфейс управления, логи в journald, зависимости через familiar …

    cron работает, но его логи — текстовый файл без структуры, а зависимости от сервисов приходится городить через костыли вроде Requires= в shell-скрипте. systemd-timer решает это: единый интерфейс управления, логи в journald, зависимости через familiar …

  • SSH-сертификаты вместо authorized_keys

    Раздел: Посты Слов: 835 4 мин

    SshSecurityLinuxDevops

    authorized_keys — это классика, но когда серверов больше десятка, начинается хаос. Добавление нового разработчика превращается в ручное скачивание ключей и раскладку по десяткам машин. SSH-сертификаты решают проблему: один CA-ключ подписывает все …

    authorized_keys — это классика, но когда серверов больше десятка, начинается хаос. Добавление нового разработчика превращается в ручное скачивание ключей и раскладку по десяткам машин. SSH-сертификаты решают проблему: один CA-ключ подписывает все …

  • Squid: проброс интернета на удалённую ВМ

    Раздел: Посты Слов: 470 3 мин

    LinuxSquidProxyNetworkDevops

    Бывает так: твоя ВМ в облаке не имеет публичного IP или доступ в интернет через NAT закрыт, а деплой требует wget/curl изнутри. Squid на промежуточном хосте с нормальным каналом решает проблему за десять минут. Зачем это нужно Пробрасываю интернет …

    Бывает так: твоя ВМ в облаке не имеет публичного IP или доступ в интернет через NAT закрыт, а деплой требует wget/curl изнутри. Squid на промежуточном хосте с нормальным каналом решает проблему за десять минут. Зачем это нужно Пробрасываю интернет …

  • MkDocs: генератор документации из Markdown

    Раздел: Посты Слов: 1082 6 мин

    DocsPythonDevopsTools

    Документация в репозитории устаревает быстрее, чем её читают: ссылки в README ведут в никуда, разделы разбросаны по docs/, wiki/ и confluence, а поиск по сайту не работает. MkDocs решает это предсказуемо — берёт папку с .md файлами и собирает …

    Документация в репозитории устаревает быстрее, чем её читают: ссылки в README ведут в никуда, разделы разбросаны по docs/, wiki/ и confluence, а поиск по сайту не работает. MkDocs решает это предсказуемо — берёт папку с .md файлами и собирает …

  • dig: отладка DNS-запросов в CLI

    Раздел: Посты Слов: 695 4 мин

    LinuxDnsNetworkingDevops

    DNS- resolver отдал не тот адрес, клиенты не видят обновление, или просто непонятно, какой сервер сейчас отвечает на запросы. dig (Domain Information Groper) — стандартный инструмент для диагностики DNS из терминала. Работает на Linux, macOS, есть в …

    DNS- resolver отдал не тот адрес, клиенты не видят обновление, или просто непонятно, какой сервер сейчас отвечает на запросы. dig (Domain Information Groper) — стандартный инструмент для диагностики DNS из терминала. Работает на Linux, macOS, есть в …

  • cockpit-modules: веб-панели для повседневной эксплуатации

    Раздел: Посты Слов: 457 3 мин

    CockpitLinuxDevopsSecurity

    Cockpit закрывает базовое администрирование Linux из браузера: сервисы, логи, сеть, аккаунты. Для файервола, fail2ban, cron и Let’s Encrypt штатного набора уже не хватает — либо нет панели, либо она слишком общая. Группа cockpit-modules — набор …

    Cockpit закрывает базовое администрирование Linux из браузера: сервисы, логи, сеть, аккаунты. Для файервола, fail2ban, cron и Let’s Encrypt штатного набора уже не хватает — либо нет панели, либо она слишком общая. Группа cockpit-modules — набор …

  • Свой корневой сертификат: куда его класть, чтобы ему доверяли

    Раздел: Посты Слов: 953 5 мин

    TlsPkiCertificatesDevopsSecurity

    TLS-ошибка «сертификат не доверен» почти никогда не значит, что сертификат «сломан». Обычно сломана точка доверия: клиент смотрит не в то хранилище, куда вы положили CA. curl, openssl, Git, Python и браузер — разные клиенты. У части из них своя база …

    TLS-ошибка «сертификат не доверен» почти никогда не значит, что сертификат «сломан». Обычно сломана точка доверия: клиент смотрит не в то хранилище, куда вы положили CA. curl, openssl, Git, Python и браузер — разные клиенты. У части из них своя база …

  • Настройка Cron: практический разбор

    Раздел: Посты Слов: 1027 5 мин

    LinuxCronDevopsAutomationBash

    Cron — стандартный планировщик в Linux, который встречается в каждой инфраструктуре. Задачи сыплются, логи копятся, окружение подводит. Разберём, как настраивать cron надёжно и где он не подходит. Когда cron нужен, а когда нет Cron подходит для …

    Cron — стандартный планировщик в Linux, который встречается в каждой инфраструктуре. Задачи сыплются, логи копятся, окружение подводит. Разберём, как настраивать cron надёжно и где он не подходит. Когда cron нужен, а когда нет Cron подходит для …

  • Too many authentication failures: SSH исчерпал попытки

    Раздел: Посты Слов: 695 4 мин

    SshOpensshLinuxDevopsSecurity

    Received disconnect from 10.0.0.5 port 22:2: Too many authentication failures и следом Permission denied (publickey) — это не «сервер сломан» и не обязательно неверный пароль. Клиент потратил лимит попыток, пока перебирал ключи из агента, и до …

    Received disconnect from 10.0.0.5 port 22:2: Too many authentication failures и следом Permission denied (publickey) — это не «сервер сломан» и не обязательно неверный пароль. Клиент потратил лимит попыток, пока перебирал ключи из агента, и до …

  • kind: локальный Kubernetes в Docker

    Раздел: Посты Слов: 862 5 мин

    KubernetesDockerDevopsLinuxLocal-Dev

    Kubernetes-кластер на ноутбуке — задача нередкая: CI/CD, эксперименты с операторами, проверка манифестов без нагрузки на prod. minikube тянет виртуалку, k3s просит отдельный host, а kind поднимает управляющую плоскость в Docker-контейнерах. …

    Kubernetes-кластер на ноутбуке — задача нередкая: CI/CD, эксперименты с операторами, проверка манифестов без нагрузки на prod. minikube тянет виртуалку, k3s просит отдельный host, а kind поднимает управляющую плоскость в Docker-контейнерах. …

  • Kafka: проверка работоспособности кластера

    Раздел: Посты Слов: 994 5 мин

    KafkaLinuxDevops

    Kafka-кластер в KRaft-режиме не прощает, когда о нём забывают до первого инцидента. Проверять здоровье нужно регулярно и короткими командами — без графиков и дашбордов, прямо из консоли. Ниже — набор команд, которые закрывают типовой чек-лист: …

    Kafka-кластер в KRaft-режиме не прощает, когда о нём забывают до первого инцидента. Проверять здоровье нужно регулярно и короткими командами — без графиков и дашбордов, прямо из консоли. Ниже — набор команд, которые закрывают типовой чек-лист: …

  • GNU Screen: сессии, которые переживают обрыв SSH

    Раздел: Посты Слов: 1015 5 мин

    ScreenLinuxSshTerminalDevops

    Долгий apt upgrade, миграция, сборка — и ноутбук ушёл в сон. SSH рвётся, процесс получает SIGHUP и умирает. GNU Screen держит терминал на сервере: отключился, подключился снова, работа на месте. Это не замена nohup и не «ещё один SSH». Это …

    Долгий apt upgrade, миграция, сборка — и ноутбук ушёл в сон. SSH рвётся, процесс получает SIGHUP и умирает. GNU Screen держит терминал на сервере: отключился, подключился снова, работа на месте. Это не замена nohup и не «ещё один SSH». Это …

  • ssh-connection-manager: TUI для хостов из ~/.ssh/config

    Раздел: Посты Слов: 386 2 мин

    SshDevopsPythonTuiOpenssh

    Когда в ~/.ssh/config десятки стендов, bastion и jump-хостов, вспоминать алиасы уже не хочется. ssh-connection-manager — это TUI поверх обычного OpenSSH: список хостов, фильтр, подключение штатным ssh, добавление новой записи в конфиг. Команда в …

    Когда в ~/.ssh/config десятки стендов, bastion и jump-хостов, вспоминать алиасы уже не хочется. ssh-connection-manager — это TUI поверх обычного OpenSSH: список хостов, фильтр, подключение штатным ssh, добавление новой записи в конфиг. Команда в …