[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/linux-log-analysis":3,"mdc-dnb11y-key":758,"mdc-o5tu5g-key":796,"mdc--4gpzlk-key":840,"mdc--20215i-key":863,"mdc--nongfz-key":871,"mdc--opn7ju-key":887,"mdc--taild7-key":928,"mdc-10q9qo-key":950,"mdc--k9rfd8-key":980,"mdc-gcqs2u-key":1003,"related-/guides/linux/linux-ssh-security,/errors/linux/disk-space-error":1025},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":687,"code":687,"createdAt":688,"description":689,"difficulty":690,"draft":691,"estimatedTime":692,"extension":693,"faq":694,"howToSteps":707,"howToTotalTime":726,"image":687,"keywords":727,"locale":738,"meta":739,"navigation":740,"path":741,"platform":742,"related":743,"section":746,"seo":747,"severity":687,"stem":748,"summary":749,"tags":750,"twitterCreator":687,"twitterSite":687,"type":756,"updatedAt":688,"__hash__":757},"content_ru/guides/linux/linux-log-analysis.md","Анализ логов Linux: полное руководство для администраторов",[7,8,9,10],"Ubuntu 22.04+","CentOS 8+","Debian 11+","systemd-based systems","FixPedia Team",{"type":13,"value":14,"toc":676},"minimark",[15,20,24,28,31,49,53,56,108,118,124,150,153,172,176,179,218,221,249,252,277,280,284,294,297,312,318,360,363,366,406,410,413,444,451,455,458,495,498,573,576,580,583,605,608,612,669,672],[16,17,19],"h2",{"id":18},"введение","Введение",[21,22,23],"p",{},"Анализ логов — ключевой навык для любого администратора Linux. Логи содержат информацию о работе системы, служб и приложений, помогая быстро диагностировать сбои, отслеживать безопасность и оптимизировать производительность. В этом гайде вы узнаете, как эффективно работать с логами в Linux, используя как стандартные утилиты, так и современные инструменты.",[16,25,27],{"id":26},"требования","Требования",[21,29,30],{},"Перед началом убедитесь, что:",[32,33,34,38,41],"ul",{},[35,36,37],"li",{},"У вас есть доступ к Linux-системе (физической или виртуальной) с установленным дистрибутивом на базе systemd (например, Ubuntu 22.04, CentOS 8).",[35,39,40],{},"Вы знакомы с базовыми командами командной строки.",[35,42,43,44,48],{},"Для доступа к некоторым логам могут потребоваться права суперпользователя (используйте ",[45,46,47],"code",{},"sudo",").",[16,50,52],{"id":51},"шаг-1-понимание-структуры-логов-в-linux","Шаг 1: Понимание структуры логов в Linux",[21,54,55],{},"В Linux логи хранятся в двух основных форматах:",[57,58,59,90],"ol",{},[35,60,61,65,66,69,70,73,74,77,78,81,82,85,86,89],{},[62,63,64],"strong",{},"Файловые логи",": традиционные текстовые файлы в директории ",[45,67,68],{},"/var/log/",". Сюда попадают логи ядра (",[45,71,72],{},"kern.log","), системы (",[45,75,76],{},"syslog","), аутентификации (",[45,79,80],{},"auth.log","), пакетного менеджера (",[45,83,84],{},"dpkg.log"," или ",[45,87,88],{},"yum.log",") и многие другие.",[35,91,92,95,96,99,100,103,104,107],{},[62,93,94],{},"Системный журнал systemd",": бинарный журнал, управляемый ",[45,97,98],{},"systemd-journald",". Доступен через команду ",[45,101,102],{},"journalctl",", хранится в ",[45,105,106],{},"/var/log/journal/"," (если включено постоянное хранение).",[21,109,110,111,85,114,117],{},"По умолчанию, многие современные дистрибутивы используют systemd journal, но также могут писать в файловые логи через службы вроде ",[45,112,113],{},"rsyslog",[45,115,116],{},"syslog-ng",".",[21,119,120,121,123],{},"Чтобы увидеть список логов в ",[45,122,68],{},", выполните:",[125,126,131],"pre",{"className":127,"code":128,"language":129,"meta":130,"style":130},"language-bash shiki shiki-themes github-light github-dark","ls -la /var/log/\n","bash","",[45,132,133],{"__ignoreMap":130},[134,135,138,142,146],"span",{"class":136,"line":137},"line",1,[134,139,141],{"class":140},"sScJk","ls",[134,143,145],{"class":144},"sj4cs"," -la",[134,147,149],{"class":148},"sZZnC"," /var/log/\n",[21,151,152],{},"Для просмотра активного journal:",[125,154,156],{"className":127,"code":155,"language":129,"meta":130,"style":130},"sudo journalctl --disk-usage  # проверить размер журнала\n",[45,157,158],{"__ignoreMap":130},[134,159,160,162,165,168],{"class":136,"line":137},[134,161,47],{"class":140},[134,163,164],{"class":148}," journalctl",[134,166,167],{"class":144}," --disk-usage",[134,169,171],{"class":170},"sJ8bj","  # проверить размер журнала\n",[16,173,175],{"id":174},"шаг-2-использование-базовых-команд-для-просмотра-логов","Шаг 2: Использование базовых команд для просмотра логов",[21,177,178],{},"Для работы с файловыми логами используйте стандартные утилиты:",[32,180,181,190,200,209],{},[35,182,183,186,187],{},[45,184,185],{},"less",": постраничный просмотр. ",[45,188,189],{},"less /var/log/syslog",[35,191,192,195,196,199],{},[45,193,194],{},"tail",": просмотр последних строк. ",[45,197,198],{},"tail -f /var/log/syslog"," для реального времени.",[35,201,202,205,206],{},[45,203,204],{},"grep",": поиск по шаблону. ",[45,207,208],{},"grep \"error\" /var/log/syslog",[35,210,211,214,215],{},[45,212,213],{},"head",": просмотр первых строк. ",[45,216,217],{},"head -n 50 /var/log/syslog",[21,219,220],{},"Комбинируйте команды для эффективного анализа. Например, чтобы найти последние 10 ошибок в syslog:",[125,222,224],{"className":127,"code":223,"language":129,"meta":130,"style":130},"grep \"error\" /var/log/syslog | tail -n 10\n",[45,225,226],{"__ignoreMap":130},[134,227,228,230,233,236,240,243,246],{"class":136,"line":137},[134,229,204],{"class":140},[134,231,232],{"class":148}," \"error\"",[134,234,235],{"class":148}," /var/log/syslog",[134,237,239],{"class":238},"szBVR"," |",[134,241,242],{"class":140}," tail",[134,244,245],{"class":144}," -n",[134,247,248],{"class":144}," 10\n",[21,250,251],{},"Для journalctl аналогичные операции:",[32,253,254,259,265,271],{},[35,255,256,258],{},[45,257,102],{},": просмотр всего журнала.",[35,260,261,264],{},[45,262,263],{},"journalctl -f",": отслеживание в реальном времени.",[35,266,267,270],{},[45,268,269],{},"journalctl -u ssh.service",": логи конкретной службы.",[35,272,273,276],{},[45,274,275],{},"journalctl --since \"2026-02-14 09:00:00\"",": фильтрация по времени.",[278,279],"in-article-ad",{},[16,281,283],{"id":282},"шаг-3-фильтрация-и-поиск-в-логах","Шаг 3: Фильтрация и поиск в логах",[21,285,286,287,289,290,293],{},"Более сложная фильтрация требует использования ",[45,288,204],{}," с регулярными выражениями или ",[45,291,292],{},"awk"," для извлечения полей.",[21,295,296],{},"Пример: найти все неудачные попытки SSH в auth.log:",[125,298,300],{"className":127,"code":299,"language":129,"meta":130,"style":130},"grep \"Failed password\" /var/log/auth.log\n",[45,301,302],{"__ignoreMap":130},[134,303,304,306,309],{"class":136,"line":137},[134,305,204],{"class":140},[134,307,308],{"class":148}," \"Failed password\"",[134,310,311],{"class":148}," /var/log/auth.log\n",[21,313,314,315,317],{},"С помощью ",[45,316,292],{}," можно извлечь IP-адреса:",[125,319,321],{"className":127,"code":320,"language":129,"meta":130,"style":130},"grep \"Failed password\" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr\n",[45,322,323],{"__ignoreMap":130},[134,324,325,327,329,332,334,337,340,342,345,347,350,353,355,357],{"class":136,"line":137},[134,326,204],{"class":140},[134,328,308],{"class":148},[134,330,331],{"class":148}," /var/log/auth.log",[134,333,239],{"class":238},[134,335,336],{"class":140}," awk",[134,338,339],{"class":148}," '{print $11}'",[134,341,239],{"class":238},[134,343,344],{"class":140}," sort",[134,346,239],{"class":238},[134,348,349],{"class":140}," uniq",[134,351,352],{"class":144}," -c",[134,354,239],{"class":238},[134,356,344],{"class":140},[134,358,359],{"class":144}," -nr\n",[21,361,362],{},"Это покажет количество неудачных попыток с каждого IP.",[21,364,365],{},"Для journalctl используйте встроенные фильтры:",[125,367,369],{"className":127,"code":368,"language":129,"meta":130,"style":130},"journalctl _COMM=sshd  # только логи sshd\njournalctl PRIORITY=err  # только ошибки\njournalctl --boot -1  # логи предыдущей загрузки\n",[45,370,371,381,392],{"__ignoreMap":130},[134,372,373,375,378],{"class":136,"line":137},[134,374,102],{"class":140},[134,376,377],{"class":148}," _COMM=sshd",[134,379,380],{"class":170},"  # только логи sshd\n",[134,382,384,386,389],{"class":136,"line":383},2,[134,385,102],{"class":140},[134,387,388],{"class":148}," PRIORITY=err",[134,390,391],{"class":170},"  # только ошибки\n",[134,393,395,397,400,403],{"class":136,"line":394},3,[134,396,102],{"class":140},[134,398,399],{"class":144}," --boot",[134,401,402],{"class":144}," -1",[134,404,405],{"class":170},"  # логи предыдущей загрузки\n",[16,407,409],{"id":408},"шаг-4-анализ-логов-безопасности","Шаг 4: Анализ логов безопасности",[21,411,412],{},"Логи безопасности критически важны. Основные файлы:",[32,414,415,425,434],{},[35,416,417,420,421,424],{},[45,418,419],{},"/var/log/auth.log"," (Debian/Ubuntu) или ",[45,422,423],{},"/var/log/secure"," (RHEL/CentOS) для аутентификации.",[35,426,427,430,431,48],{},[45,428,429],{},"/var/log/faillog"," для неудачных попысков входа (просмотр через ",[45,432,433],{},"faillog",[35,435,436,437,440,441,48],{},"Логи брандмауэра (например, ",[45,438,439],{},"ufw"," в ",[45,442,443],{},"/var/log/ufw.log",[21,445,446,447,450],{},"Регулярно проверяйте на подозрительную активность. Автоматизируйте с помощью скриптов или инструментов вроде ",[45,448,449],{},"fail2ban",", которые сами анализируют логи и блокируют IP.",[16,452,454],{"id":453},"шаг-5-автоматизация-и-мониторинг","Шаг 5: Автоматизация и мониторинг",[21,456,457],{},"Для постоянного мониторинга используйте:",[32,459,460,476,485],{},[35,461,462,465,466,420,469,472,473,117],{},[62,463,464],{},"logwatch",": ежедневные отчеты по почте. Установка: ",[45,467,468],{},"sudo apt install logwatch",[45,470,471],{},"sudo yum install logwatch"," (RHEL). Настройка в ",[45,474,475],{},"/etc/logwatch/",[35,477,478,481,482,117],{},[62,479,480],{},"Logrotate",": автоматическая ротация логов, настроена по умолчанию. Проверьте ",[45,483,484],{},"/etc/logrotate.conf/",[35,486,487,490,491,494],{},[62,488,489],{},"ELK stack"," (Elasticsearch, Logstash, Kibana) или ",[62,492,493],{},"Grafana Loki"," для централизованного сбора и визуализации логов в больших средах.",[21,496,497],{},"Пример простого скрипта для оповещения о критических ошибках:",[125,499,501],{"className":127,"code":500,"language":129,"meta":130,"style":130},"#!/bin/bash\nif journalctl -p err --since \"1 hour ago\" | grep -q \".*\"; then\n    echo \"Обнаружены ошибки в логах за последний час\" | mail -s \"Ошибки в системе\" admin@example.com\nfi\n",[45,502,503,508,545,567],{"__ignoreMap":130},[134,504,505],{"class":136,"line":137},[134,506,507],{"class":170},"#!/bin/bash\n",[134,509,510,513,515,518,521,524,527,529,532,535,538,542],{"class":136,"line":383},[134,511,512],{"class":238},"if",[134,514,164],{"class":140},[134,516,517],{"class":144}," -p",[134,519,520],{"class":148}," err",[134,522,523],{"class":144}," --since",[134,525,526],{"class":148}," \"1 hour ago\"",[134,528,239],{"class":238},[134,530,531],{"class":140}," grep",[134,533,534],{"class":144}," -q",[134,536,537],{"class":148}," \".*\"",[134,539,541],{"class":540},"sVt8B","; ",[134,543,544],{"class":238},"then\n",[134,546,547,550,553,555,558,561,564],{"class":136,"line":394},[134,548,549],{"class":144},"    echo",[134,551,552],{"class":148}," \"Обнаружены ошибки в логах за последний час\"",[134,554,239],{"class":238},[134,556,557],{"class":140}," mail",[134,559,560],{"class":144}," -s",[134,562,563],{"class":148}," \"Ошибки в системе\"",[134,565,566],{"class":148}," admin@example.com\n",[134,568,570],{"class":136,"line":569},4,[134,571,572],{"class":238},"fi\n",[21,574,575],{},"Добавьте в cron для регулярного запуска.",[16,577,579],{"id":578},"проверка-результата","Проверка результата",[21,581,582],{},"После прохождения гайда вы должны уметь:",[32,584,585,588,599,602],{},[35,586,587],{},"Находить и открывать основные логи системы.",[35,589,590,591,593,594,593,596,598],{},"Использовать ",[45,592,204],{},", ",[45,595,292],{},[45,597,102],{}," для фильтрации.",[35,600,601],{},"Диагностировать распространенные проблемы (например, ошибки служб, неудачные логины).",[35,603,604],{},"Настраивать базовый мониторинг логов.",[21,606,607],{},"Проверьте себя: попробуйте найти все ошибки kernel за последний день или определить, какая служба генерирует больше всего логов.",[16,609,611],{"id":610},"возможные-проблемы","Возможные проблемы",[57,613,614,630,647,656],{},[35,615,616,619,620,622,623,420,626,629],{},[62,617,618],{},"Ошибки доступа",": Некоторые логи требуют прав root. Используйте ",[45,621,47],{}," или добавьте пользователя в группу ",[45,624,625],{},"adm",[45,627,628],{},"wheel"," (RHEL).",[35,631,632,635,636,639,640,593,643,646],{},[62,633,634],{},"Большой объем логов",": Journal может занимать много места. Настройте ограничения в ",[45,637,638],{},"/etc/systemd/journald.conf"," (параметры ",[45,641,642],{},"SystemMaxUse",[45,644,645],{},"MaxRetentionSec","). Для файловых логов настройте logrotate.",[35,648,649,652,653,117],{},[62,650,651],{},"Неправильные фильтры",": Убедитесь, что используете правильные имена служб или пути. Для journalctl проверьте доступные поля через ",[45,654,655],{},"journalctl -F",[35,657,658,661,662,665,666,48],{},[62,659,660],{},"Отсутствие логов",": Некоторые службы могут не писать в стандартные логи. Проверьте их конфигурацию (например, в ",[45,663,664],{},"/etc/rsyslog.conf"," или для systemd-сервисов через ",[45,667,668],{},"StandardOutput",[21,670,671],{},"Если логи не появляются, перезапустите службу или systemd-journald.",[673,674,675],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":130,"searchDepth":383,"depth":383,"links":677},[678,679,680,681,682,683,684,685,686],{"id":18,"depth":383,"text":19},{"id":26,"depth":383,"text":27},{"id":51,"depth":383,"text":52},{"id":174,"depth":383,"text":175},{"id":282,"depth":383,"text":283},{"id":408,"depth":383,"text":409},{"id":453,"depth":383,"text":454},{"id":578,"depth":383,"text":579},{"id":610,"depth":383,"text":611},null,"2026-02-14 22:46:50","Освойте анализ логов в Linux: от базовых команд до продвинутых инструментов. Узнайте, как найти и исправить ошибки за 15 минут. Пошаговая инструкция с примерами.","medium",false,"15-30 мин","md",[695,698,701,704],{"question":696,"answer":697},"Какой инструмент лучше для просмотра логов в Linux?","Для систем на systemd используйте `journalctl`. Для классических syslog-файлов — `less`, `grep` или `tail`. Выбор зависит от дистрибутива и конкретной задачи.",{"question":699,"answer":700},"Где хранятся логи системы в Linux?","В основном в `/var/log/`. Для systemd журнал хранится в бинарном формате и доступен через `journalctl`. Конкретные логи: `/var/log/syslog`, `/var/log/messages`, `/var/log/auth.log` и т.д.",{"question":702,"answer":703},"Как отслеживать логи в реальном времени?","Используйте `tail -f /var/log/syslog` для файлов или `journalctl -f` для systemd journal. Это позволяет видеть новые записи по мере их появления.",{"question":705,"answer":706},"Что делать, если логи переполнены?","Настройте ротацию логов через logrotate или systemd-journald. Регулярно архивируйте старые логи и ограничьте размер хранимых данных.",[708,711,714,717,720,723],{"name":709,"text":710},"Понимание структуры логов в Linux","Ознакомьтесь с расположением логов: `/var/log/` для файловых логов и systemd journal. Узнайте, какие логи генерируют различные службы.",{"name":712,"text":713},"Использование базовых команд для просмотра логов","Освойте команды `ls`, `less`, `tail`, `grep` для навигации и фильтрации логов. Например, `tail -f /var/log/syslog` для отслеживания в реальном времени.",{"name":715,"text":716},"Работа с systemd journal через journalctl","Используйте `journalctl` для доступа к журналу systemd. Фильтруйте по службе, времени или приоритету: `journalctl -u ssh.service --since \"1 hour ago\"`.",{"name":718,"text":719},"Фильтрация и поиск в логах","Применяйте `grep` для поиска ключевых слов, `awk` для извлечения полей. Комбинируйте команды: `journalctl | grep \"error\"`.",{"name":721,"text":722},"Анализ логов безопасности","Фокусируйтесь на логах аутентификации (`auth.log` или `secure`) и SSH. Ищите неудачные попытки входа, подозрительные IP-адреса.",{"name":724,"text":725},"Автоматизация и мониторинг","Создайте скрипты для регулярного анализа или используйте инструменты вроде `logwatch` или `ELK stack` для расширенного мониторинга.","PT30M",[728,729,730,731,732,733,734,735,736,737],"анализ логов linux","как читать логи в linux","syslog linux","journalctl использование","мониторинг логов linux","поиск ошибок в логах linux","команды для работы с логами linux","log analysis linux tutorial","диагностика проблем linux через логи","утилиты для анализа логов linux","ru_RU",{},true,"/guides/linux/linux-log-analysis","linux",[744,745],"/guides/linux/linux-ssh-security","/errors/linux/disk-space-error","Гайды Linux",{"title":5,"description":689},"guides/linux/linux-log-analysis","Этот гайд подробно объясняет, как анализировать системные логи в Linux. Вы научитесь использовать утилиты вроде journalctl, grep и awk для диагностики проблем и мониторинга системы.",[742,751,76,102,752,753,754,755],"логи","мониторинг","администрирование","log analysis","troubleshooting","guide","q-ktPukgYK8iUWW8WTzli5kXktsD17ePbayimOgWGG4",{"data":759,"body":760},{},{"type":761,"children":762},"root",[763],{"type":764,"tag":21,"props":765,"children":766},"element",{},[767,770,775,777,782,783,788,789,794],{"type":768,"value":769},"text","Для систем на systemd используйте ",{"type":764,"tag":45,"props":771,"children":773},{"className":772},[],[774],{"type":768,"value":102},{"type":768,"value":776},". Для классических syslog-файлов — ",{"type":764,"tag":45,"props":778,"children":780},{"className":779},[],[781],{"type":768,"value":185},{"type":768,"value":593},{"type":764,"tag":45,"props":784,"children":786},{"className":785},[],[787],{"type":768,"value":204},{"type":768,"value":85},{"type":764,"tag":45,"props":790,"children":792},{"className":791},[],[793],{"type":768,"value":194},{"type":768,"value":795},". Выбор зависит от дистрибутива и конкретной задачи.",{"data":797,"body":798},{},{"type":761,"children":799},[800],{"type":764,"tag":21,"props":801,"children":802},{},[803,805,810,812,817,819,825,826,832,833,838],{"type":768,"value":804},"В основном в ",{"type":764,"tag":45,"props":806,"children":808},{"className":807},[],[809],{"type":768,"value":68},{"type":768,"value":811},". Для systemd журнал хранится в бинарном формате и доступен через ",{"type":764,"tag":45,"props":813,"children":815},{"className":814},[],[816],{"type":768,"value":102},{"type":768,"value":818},". Конкретные логи: ",{"type":764,"tag":45,"props":820,"children":822},{"className":821},[],[823],{"type":768,"value":824},"/var/log/syslog",{"type":768,"value":593},{"type":764,"tag":45,"props":827,"children":829},{"className":828},[],[830],{"type":768,"value":831},"/var/log/messages",{"type":768,"value":593},{"type":764,"tag":45,"props":834,"children":836},{"className":835},[],[837],{"type":768,"value":419},{"type":768,"value":839}," и т.д.",{"data":841,"body":842},{},{"type":761,"children":843},[844],{"type":764,"tag":21,"props":845,"children":846},{},[847,849,854,856,861],{"type":768,"value":848},"Используйте ",{"type":764,"tag":45,"props":850,"children":852},{"className":851},[],[853],{"type":768,"value":198},{"type":768,"value":855}," для файлов или ",{"type":764,"tag":45,"props":857,"children":859},{"className":858},[],[860],{"type":768,"value":263},{"type":768,"value":862}," для systemd journal. Это позволяет видеть новые записи по мере их появления.",{"data":864,"body":865},{},{"type":761,"children":866},[867],{"type":764,"tag":21,"props":868,"children":869},{},[870],{"type":768,"value":706},{"data":872,"body":873},{},{"type":761,"children":874},[875],{"type":764,"tag":21,"props":876,"children":877},{},[878,880,885],{"type":768,"value":879},"Ознакомьтесь с расположением логов: ",{"type":764,"tag":45,"props":881,"children":883},{"className":882},[],[884],{"type":768,"value":68},{"type":768,"value":886}," для файловых логов и systemd journal. Узнайте, какие логи генерируют различные службы.",{"data":888,"body":889},{},{"type":761,"children":890},[891],{"type":764,"tag":21,"props":892,"children":893},{},[894,896,901,902,907,908,913,914,919,921,926],{"type":768,"value":895},"Освойте команды ",{"type":764,"tag":45,"props":897,"children":899},{"className":898},[],[900],{"type":768,"value":141},{"type":768,"value":593},{"type":764,"tag":45,"props":903,"children":905},{"className":904},[],[906],{"type":768,"value":185},{"type":768,"value":593},{"type":764,"tag":45,"props":909,"children":911},{"className":910},[],[912],{"type":768,"value":194},{"type":768,"value":593},{"type":764,"tag":45,"props":915,"children":917},{"className":916},[],[918],{"type":768,"value":204},{"type":768,"value":920}," для навигации и фильтрации логов. Например, ",{"type":764,"tag":45,"props":922,"children":924},{"className":923},[],[925],{"type":768,"value":198},{"type":768,"value":927}," для отслеживания в реальном времени.",{"data":929,"body":930},{},{"type":761,"children":931},[932],{"type":764,"tag":21,"props":933,"children":934},{},[935,936,941,943,949],{"type":768,"value":848},{"type":764,"tag":45,"props":937,"children":939},{"className":938},[],[940],{"type":768,"value":102},{"type":768,"value":942}," для доступа к журналу systemd. Фильтруйте по службе, времени или приоритету: ",{"type":764,"tag":45,"props":944,"children":946},{"className":945},[],[947],{"type":768,"value":948},"journalctl -u ssh.service --since \"1 hour ago\"",{"type":768,"value":117},{"data":951,"body":952},{},{"type":761,"children":953},[954],{"type":764,"tag":21,"props":955,"children":956},{},[957,959,964,966,971,973,979],{"type":768,"value":958},"Применяйте ",{"type":764,"tag":45,"props":960,"children":962},{"className":961},[],[963],{"type":768,"value":204},{"type":768,"value":965}," для поиска ключевых слов, ",{"type":764,"tag":45,"props":967,"children":969},{"className":968},[],[970],{"type":768,"value":292},{"type":768,"value":972}," для извлечения полей. Комбинируйте команды: ",{"type":764,"tag":45,"props":974,"children":976},{"className":975},[],[977],{"type":768,"value":978},"journalctl | grep \"error\"",{"type":768,"value":117},{"data":981,"body":982},{},{"type":761,"children":983},[984],{"type":764,"tag":21,"props":985,"children":986},{},[987,989,994,995,1001],{"type":768,"value":988},"Фокусируйтесь на логах аутентификации (",{"type":764,"tag":45,"props":990,"children":992},{"className":991},[],[993],{"type":768,"value":80},{"type":768,"value":85},{"type":764,"tag":45,"props":996,"children":998},{"className":997},[],[999],{"type":768,"value":1000},"secure",{"type":768,"value":1002},") и SSH. Ищите неудачные попытки входа, подозрительные IP-адреса.",{"data":1004,"body":1005},{},{"type":761,"children":1006},[1007],{"type":764,"tag":21,"props":1008,"children":1009},{},[1010,1012,1017,1018,1023],{"type":768,"value":1011},"Создайте скрипты для регулярного анализа или используйте инструменты вроде ",{"type":764,"tag":45,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":768,"value":464},{"type":768,"value":85},{"type":764,"tag":45,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":768,"value":489},{"type":768,"value":1024}," для расширенного мониторинга.",[1026],{"id":1027,"title":1028,"appliesTo":1029,"author":11,"body":1034,"canonical":687,"code":687,"createdAt":1868,"description":1869,"difficulty":690,"draft":691,"estimatedTime":1870,"extension":693,"faq":1871,"howToSteps":1884,"howToTotalTime":1900,"image":687,"keywords":1901,"locale":738,"meta":1912,"navigation":740,"path":744,"platform":742,"related":1913,"section":746,"seo":1917,"severity":687,"stem":1918,"summary":1919,"tags":1920,"twitterCreator":687,"twitterSite":687,"type":756,"updatedAt":1868,"__hash__":1925},"content_ru/guides/linux/linux-ssh-security.md","Укрепление безопасности SSH на Linux: пошаговая инструкция",[1030,1031,1032,1033],"Ubuntu 20.04+","Debian 10+","CentOS 7+","Fedora 35+",{"type":13,"value":1035,"toc":1857},[1036,1038,1041,1043,1046,1102,1106,1109,1330,1334,1339,1364,1368,1371,1419,1421,1425,1428,1666,1670,1673,1702,1704,1707,1765,1767,1854],[16,1037,19],{"id":18},[21,1039,1040],{},"SSH (Secure Shell) — основной инструмент для удаленного управления Linux-серверами. Однако стандартная установка OpenSSH оставляет несколько уязвимостей, которые активно эксплуатируются злоумышленниками: подбор паролей, попытки входа под root, сканирование порта 22. Данный гайд проведет вас через пять ключевых шагов по усилению безопасности SSH-сервера. После выполнения вы получите защищенное соединение, устойчивое к автоматическим атакам, без ущерба для удобства работы.",[16,1042,27],{"id":26},[21,1044,1045],{},"Перед началом убедитесь, что у вас есть:",[32,1047,1048,1054,1064,1071,1092],{},[35,1049,1050,1051,1053],{},"Доступ к серверу с правами ",[62,1052,47],{}," (или root).",[35,1055,1056,1057,1060,1061,48],{},"Установленный ",[62,1058,1059],{},"OpenSSH-сервер"," (пакет ",[45,1062,1063],{},"openssh-server",[35,1065,1066,1067,1070],{},"Работающая аутентификация по ",[62,1068,1069],{},"SSH-ключам"," (рекомендуется настроить заранее).",[35,1072,1073,1074],{},"Резервная копия конфигурационного файла:\n",[125,1075,1077],{"className":127,"code":1076,"language":129,"meta":130,"style":130},"sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup\n",[45,1078,1079],{"__ignoreMap":130},[134,1080,1081,1083,1086,1089],{"class":136,"line":137},[134,1082,47],{"class":140},[134,1084,1085],{"class":148}," cp",[134,1087,1088],{"class":148}," /etc/ssh/sshd_config",[134,1090,1091],{"class":148}," /etc/ssh/sshd_config.backup\n",[35,1093,1094,1095,593,1098,1101],{},"Текстовый редактор (",[45,1096,1097],{},"nano",[45,1099,1100],{},"vim"," или другой).",[16,1103,1105],{"id":1104},"шаг-1-смена-порта-ssh","Шаг 1: Смена порта SSH",[21,1107,1108],{},"Стандартный порт 22 является целью массовых сканирований. Смена порта уменьшает шум от ботов.",[57,1110,1111,1129,1165,1178,1230,1301],{},[35,1112,1113,1114],{},"Откройте конфигурационный файл:\n",[125,1115,1117],{"className":127,"code":1116,"language":129,"meta":130,"style":130},"sudo nano /etc/ssh/sshd_config\n",[45,1118,1119],{"__ignoreMap":130},[134,1120,1121,1123,1126],{"class":136,"line":137},[134,1122,47],{"class":140},[134,1124,1125],{"class":148}," nano",[134,1127,1128],{"class":148}," /etc/ssh/sshd_config\n",[35,1130,1131,1132,1135,1136,1139,1140,1143,1144,1155],{},"Найдите строку ",[45,1133,1134],{},"#Port 22",", удалите символ ",[45,1137,1138],{},"#"," и измените номер порта, например, на ",[45,1141,1142],{},"2222",":\n",[125,1145,1149],{"className":1146,"code":1147,"language":1148,"meta":130,"style":130},"language-ini shiki shiki-themes github-light github-dark","Port 2222\n","ini",[45,1150,1151],{"__ignoreMap":130},[134,1152,1153],{"class":136,"line":137},[134,1154,1147],{},[1156,1157,1158],"blockquote",{},[21,1159,1160,1161,1164],{},"⚠️ ",[62,1162,1163],{},"Важно:"," Выберите порт из диапазона 1024-65535, который не используется другими службами.",[35,1166,1167,1168,593,1171,593,1174,1177],{},"Сохраните файл (",[45,1169,1170],{},"Ctrl+O",[45,1172,1173],{},"Enter",[45,1175,1176],{},"Ctrl+X"," в nano).",[35,1179,1180,1181],{},"Перезапустите SSH-демон:\n",[32,1182,1183],{},[35,1184,1185,1186,1189,1190],{},"Для ",[62,1187,1188],{},"systemd"," (Ubuntu/Debian/CentOS 7+/Fedora):\n",[125,1191,1193],{"className":127,"code":1192,"language":129,"meta":130,"style":130},"sudo systemctl restart sshd   # Ubuntu/Debian\n# или\nsudo systemctl restart ssh    # CentOS/Fedora (пакет ssh)\n",[45,1194,1195,1211,1216],{"__ignoreMap":130},[134,1196,1197,1199,1202,1205,1208],{"class":136,"line":137},[134,1198,47],{"class":140},[134,1200,1201],{"class":148}," systemctl",[134,1203,1204],{"class":148}," restart",[134,1206,1207],{"class":148}," sshd",[134,1209,1210],{"class":170},"   # Ubuntu/Debian\n",[134,1212,1213],{"class":136,"line":383},[134,1214,1215],{"class":170},"# или\n",[134,1217,1218,1220,1222,1224,1227],{"class":136,"line":394},[134,1219,47],{"class":140},[134,1221,1201],{"class":148},[134,1223,1204],{"class":148},[134,1225,1226],{"class":148}," ssh",[134,1228,1229],{"class":170},"    # CentOS/Fedora (пакет ssh)\n",[35,1231,1232,1233],{},"Откройте новый порт в фаерволе:\n",[32,1234,1235,1268],{},[35,1236,1237,1240,1241],{},[62,1238,1239],{},"UFW"," (Ubuntu/Debian):\n",[125,1242,1244],{"className":127,"code":1243,"language":129,"meta":130,"style":130},"sudo ufw allow 2222/tcp\nsudo ufw reload\n",[45,1245,1246,1259],{"__ignoreMap":130},[134,1247,1248,1250,1253,1256],{"class":136,"line":137},[134,1249,47],{"class":140},[134,1251,1252],{"class":148}," ufw",[134,1254,1255],{"class":148}," allow",[134,1257,1258],{"class":148}," 2222/tcp\n",[134,1260,1261,1263,1265],{"class":136,"line":383},[134,1262,47],{"class":140},[134,1264,1252],{"class":148},[134,1266,1267],{"class":148}," reload\n",[35,1269,1270,1273,1274],{},[62,1271,1272],{},"firewalld"," (CentOS/Fedora):\n",[125,1275,1277],{"className":127,"code":1276,"language":129,"meta":130,"style":130},"sudo firewall-cmd --permanent --add-port=2222/tcp\nsudo firewall-cmd --reload\n",[45,1278,1279,1292],{"__ignoreMap":130},[134,1280,1281,1283,1286,1289],{"class":136,"line":137},[134,1282,47],{"class":140},[134,1284,1285],{"class":148}," firewall-cmd",[134,1287,1288],{"class":144}," --permanent",[134,1290,1291],{"class":144}," --add-port=2222/tcp\n",[134,1293,1294,1296,1298],{"class":136,"line":383},[134,1295,47],{"class":140},[134,1297,1285],{"class":148},[134,1299,1300],{"class":144}," --reload\n",[35,1302,1303,1304,1326,1327,117],{},"Проверьте, что служба слушает новый порт:\n",[125,1305,1307],{"className":127,"code":1306,"language":129,"meta":130,"style":130},"sudo ss -tlnp | grep sshd\n",[45,1308,1309],{"__ignoreMap":130},[134,1310,1311,1313,1316,1319,1321,1323],{"class":136,"line":137},[134,1312,47],{"class":140},[134,1314,1315],{"class":148}," ss",[134,1317,1318],{"class":144}," -tlnp",[134,1320,239],{"class":238},[134,1322,531],{"class":140},[134,1324,1325],{"class":148}," sshd\n","\nВ выводе должен быть ",[45,1328,1329],{},"*:2222",[16,1331,1333],{"id":1332},"шаг-2-отключение-root-логина","Шаг 2: Отключение root-логина",[21,1335,1336,1337,117],{},"Вход под root — распространенная атака. Запретите его, используйте обычного пользователя с ",[45,1338,47],{},[57,1340,1341,1361],{},[35,1342,1343,1344,1347,1348,1351,1352],{},"В том же файле ",[45,1345,1346],{},"/etc/ssh/sshd_config"," найдите параметр ",[45,1349,1350],{},"#PermitRootLogin"," и установите:\n",[125,1353,1355],{"className":1146,"code":1354,"language":1148,"meta":130,"style":130},"PermitRootLogin no\n",[45,1356,1357],{"__ignoreMap":130},[134,1358,1359],{"class":136,"line":137},[134,1360,1354],{},[35,1362,1363],{},"Сохраните и перезапустите SSH-демон (как в шаге 1).",[16,1365,1367],{"id":1366},"шаг-3-отключение-аутентификации-по-паролю","Шаг 3: Отключение аутентификации по паролю",[21,1369,1370],{},"Если вы используете SSH-ключи, отключите парольную аутентификацию — это устранит подбор пароля.",[57,1372,1373,1391,1416],{},[35,1374,1375,1376,1378,1379,1351,1382],{},"В ",[45,1377,1346],{}," найдите ",[45,1380,1381],{},"#PasswordAuthentication",[125,1383,1385],{"className":1146,"code":1384,"language":1148,"meta":130,"style":130},"PasswordAuthentication no\n",[45,1386,1387],{"__ignoreMap":130},[134,1388,1389],{"class":136,"line":137},[134,1390,1384],{},[35,1392,1393,1396,1397,1415],{},[62,1394,1395],{},"Критически важно:"," перед применением убедитесь, что вы можете войти по ключу с нового клиента. Проверьте:\n",[125,1398,1400],{"className":127,"code":1399,"language":129,"meta":130,"style":130},"ssh -p 2222 user@your-server-ip\n",[45,1401,1402],{"__ignoreMap":130},[134,1403,1404,1407,1409,1412],{"class":136,"line":137},[134,1405,1406],{"class":140},"ssh",[134,1408,517],{"class":144},[134,1410,1411],{"class":144}," 2222",[134,1413,1414],{"class":148}," user@your-server-ip\n","\nЕсли подключение успешно — примените настройку.",[35,1417,1418],{},"Перезапустите SSH-демон.",[278,1420],{},[16,1422,1424],{"id":1423},"шаг-4-настройка-fail2ban","Шаг 4: Настройка Fail2ban",[21,1426,1427],{},"Fail2ban автоматически блокирует IP после нескольких неудачных попыток входа.",[57,1429,1430,1511,1535,1617,1646],{},[35,1431,1432,1433],{},"Установите Fail2ban:\n",[32,1434,1435,1468],{},[35,1436,1437,1143,1440],{},[62,1438,1439],{},"Debian/Ubuntu",[125,1441,1443],{"className":127,"code":1442,"language":129,"meta":130,"style":130},"sudo apt update && sudo apt install fail2ban\n",[45,1444,1445],{"__ignoreMap":130},[134,1446,1447,1449,1452,1455,1458,1460,1462,1465],{"class":136,"line":137},[134,1448,47],{"class":140},[134,1450,1451],{"class":148}," apt",[134,1453,1454],{"class":148}," update",[134,1456,1457],{"class":540}," && ",[134,1459,47],{"class":140},[134,1461,1451],{"class":148},[134,1463,1464],{"class":148}," install",[134,1466,1467],{"class":148}," fail2ban\n",[35,1469,1470,1143,1473],{},[62,1471,1472],{},"CentOS/Fedora",[125,1474,1476],{"className":127,"code":1475,"language":129,"meta":130,"style":130},"sudo yum install fail2ban   # CentOS 7\n# или\nsudo dnf install fail2ban   # CentOS 8+/Fedora\n",[45,1477,1478,1493,1497],{"__ignoreMap":130},[134,1479,1480,1482,1485,1487,1490],{"class":136,"line":137},[134,1481,47],{"class":140},[134,1483,1484],{"class":148}," yum",[134,1486,1464],{"class":148},[134,1488,1489],{"class":148}," fail2ban",[134,1491,1492],{"class":170},"   # CentOS 7\n",[134,1494,1495],{"class":136,"line":383},[134,1496,1215],{"class":170},[134,1498,1499,1501,1504,1506,1508],{"class":136,"line":394},[134,1500,47],{"class":140},[134,1502,1503],{"class":148}," dnf",[134,1505,1464],{"class":148},[134,1507,1489],{"class":148},[134,1509,1510],{"class":170},"   # CentOS 8+/Fedora\n",[35,1512,1513,1514,1517,1518],{},"Создайте локальный конфиг (не редактируйте ",[45,1515,1516],{},"jail.conf"," напрямую):\n",[125,1519,1521],{"className":127,"code":1520,"language":129,"meta":130,"style":130},"sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local\n",[45,1522,1523],{"__ignoreMap":130},[134,1524,1525,1527,1529,1532],{"class":136,"line":137},[134,1526,47],{"class":140},[134,1528,1085],{"class":148},[134,1530,1531],{"class":148}," /etc/fail2ban/jail.conf",[134,1533,1534],{"class":148}," /etc/fail2ban/jail.local\n",[35,1536,1537,1538,1143,1541,1554,1555,1558,1559,1602],{},"Отредактируйте ",[45,1539,1540],{},"jail.local",[125,1542,1544],{"className":127,"code":1543,"language":129,"meta":130,"style":130},"sudo nano /etc/fail2ban/jail.local\n",[45,1545,1546],{"__ignoreMap":130},[134,1547,1548,1550,1552],{"class":136,"line":137},[134,1549,47],{"class":140},[134,1551,1125],{"class":148},[134,1553,1534],{"class":148},"\nНайдите секцию ",[45,1556,1557],{},"[sshd]"," и убедитесь, что параметры соответствуют:\n",[125,1560,1562],{"className":1146,"code":1561,"language":1148,"meta":130,"style":130},"enabled = true\nport = 2222    # если сменили порт, укажите его; иначе оставьте ssh\nfilter = sshd\nlogpath = /var/log/auth.log   # Debian/Ubuntu\n# logpath = /var/log/secure   # CentOS/Fedora\nmaxretry = 3   # количество попыток перед блокировкой\nbantime = 3600   # блокировка на 1 час (в секундах)\n",[45,1563,1564,1569,1574,1579,1584,1590,1596],{"__ignoreMap":130},[134,1565,1566],{"class":136,"line":137},[134,1567,1568],{},"enabled = true\n",[134,1570,1571],{"class":136,"line":383},[134,1572,1573],{},"port = 2222    # если сменили порт, укажите его; иначе оставьте ssh\n",[134,1575,1576],{"class":136,"line":394},[134,1577,1578],{},"filter = sshd\n",[134,1580,1581],{"class":136,"line":569},[134,1582,1583],{},"logpath = /var/log/auth.log   # Debian/Ubuntu\n",[134,1585,1587],{"class":136,"line":1586},5,[134,1588,1589],{},"# logpath = /var/log/secure   # CentOS/Fedora\n",[134,1591,1593],{"class":136,"line":1592},6,[134,1594,1595],{},"maxretry = 3   # количество попыток перед блокировкой\n",[134,1597,1599],{"class":136,"line":1598},7,[134,1600,1601],{},"bantime = 3600   # блокировка на 1 час (в секундах)\n",[1156,1603,1604],{},[21,1605,1606,1607,1610,1611,1614,1615,117],{},"💡 ",[62,1608,1609],{},"Совет:"," Для CentOS/Fedora измените ",[45,1612,1613],{},"logpath"," на ",[45,1616,423],{},[35,1618,1619,1620],{},"Перезапустите Fail2ban:\n",[125,1621,1623],{"className":127,"code":1622,"language":129,"meta":130,"style":130},"sudo systemctl restart fail2ban\nsudo systemctl enable fail2ban\n",[45,1624,1625,1635],{"__ignoreMap":130},[134,1626,1627,1629,1631,1633],{"class":136,"line":137},[134,1628,47],{"class":140},[134,1630,1201],{"class":148},[134,1632,1204],{"class":148},[134,1634,1467],{"class":148},[134,1636,1637,1639,1641,1644],{"class":136,"line":383},[134,1638,47],{"class":140},[134,1640,1201],{"class":148},[134,1642,1643],{"class":148}," enable",[134,1645,1467],{"class":148},[35,1647,1648,1649],{},"Проверьте статус:\n",[125,1650,1652],{"className":127,"code":1651,"language":129,"meta":130,"style":130},"sudo fail2ban-client status sshd\n",[45,1653,1654],{"__ignoreMap":130},[134,1655,1656,1658,1661,1664],{"class":136,"line":137},[134,1657,47],{"class":140},[134,1659,1660],{"class":148}," fail2ban-client",[134,1662,1663],{"class":148}," status",[134,1665,1325],{"class":148},[16,1667,1669],{"id":1668},"шаг-5-ограничение-пользователей","Шаг 5: Ограничение пользователей",[21,1671,1672],{},"Разрешите подключение только конкретным пользователям, снизив риск компрометации служебных аккаунтов.",[57,1674,1675,1699],{},[35,1676,1375,1677,1679,1680,1143,1683,1692],{},[45,1678,1346],{}," добавьте (или раскомментируйте) параметр ",[45,1681,1682],{},"AllowUsers",[125,1684,1686],{"className":1146,"code":1685,"language":1148,"meta":130,"style":130},"AllowUsers alice bob admin   # перечислите логины через пробел\n",[45,1687,1688],{"__ignoreMap":130},[134,1689,1690],{"class":136,"line":137},[134,1691,1685],{},[1156,1693,1694],{},[21,1695,1160,1696,1698],{},[62,1697,1163],{}," Убедитесь, что ваш текущий пользователь включен в список, иначе заблокируете себя.",[35,1700,1701],{},"Сохраните и перезапустите SSH-демон.",[16,1703,579],{"id":578},[21,1705,1706],{},"Убедитесь, что все настройки работают:",[57,1708,1709,1726,1744],{},[35,1710,1711,1712],{},"Подключитесь с нового клиента, используя:\n",[32,1713,1714,1720,1723],{},[35,1715,1716,1717],{},"Нестандартный порт (если меняли): ",[45,1718,1719],{},"ssh -p 2222 user@server-ip",[35,1721,1722],{},"Только ключевую аутентификацию (пароль должен отклоняться).",[35,1724,1725],{},"Попробуйте войти под root — подключение должно быть отклонено.",[35,1727,1728,1729,1743],{},"Проверьте статус Fail2ban:\n",[125,1730,1731],{"className":127,"code":1651,"language":129,"meta":130,"style":130},[45,1732,1733],{"__ignoreMap":130},[134,1734,1735,1737,1739,1741],{"class":136,"line":137},[134,1736,47],{"class":140},[134,1738,1660],{"class":148},[134,1740,1663],{"class":148},[134,1742,1325],{"class":148},"\nВ выводе должны быть заблокированные IP (если были попытки).",[35,1745,1746,1747],{},"Убедитесь, что служба SSH слушает нужный порт:\n",[125,1748,1749],{"className":127,"code":1306,"language":129,"meta":130,"style":130},[45,1750,1751],{"__ignoreMap":130},[134,1752,1753,1755,1757,1759,1761,1763],{"class":136,"line":137},[134,1754,47],{"class":140},[134,1756,1315],{"class":148},[134,1758,1318],{"class":144},[134,1760,239],{"class":238},[134,1762,531],{"class":140},[134,1764,1325],{"class":148},[16,1766,611],{"id":610},[32,1768,1769,1778,1791,1812,1833],{},[35,1770,1771,1774,1775,1777],{},[62,1772,1773],{},"Заблокировали себя после настройки",": используйте консольный доступ (KVM/IPMI) через панель хостинг-провайдера. В консоли откатите ",[45,1776,1346],{}," из резервной копии и перезапустите SSH.",[35,1779,1780,1783,1784,85,1787,1790],{},[62,1781,1782],{},"Порт не открыт в фаерволе",": проверьте правила (",[45,1785,1786],{},"sudo ufw status",[45,1788,1789],{},"sudo firewall-cmd --list-all","). Убедитесь, что порт добавлен и фаервол активен.",[35,1792,1793,1796,1797,1800,1801,1804,1805,1808,1809,117],{},[62,1794,1795],{},"Подключение по ключу не работает",": проверьте права на ",[45,1798,1799],{},"~/.ssh/authorized_keys"," (должны быть ",[45,1802,1803],{},"600",") и на домашнюю директорию (",[45,1806,1807],{},"755","). Убедитесь, что публичный ключ добавлен в ",[45,1810,1811],{},"authorized_keys",[35,1813,1814,1817,1818,1821,1822,440,1824,1826,1827,1829,1830,1832],{},[62,1815,1816],{},"Fail2ban не блокирует IP",": проверьте логи (",[45,1819,1820],{},"sudo tail -f /var/log/fail2ban.log","). Убедитесь, что ",[45,1823,1613],{},[45,1825,1540],{}," указывает на правильный файл (",[45,1828,80],{}," для Debian/Ubuntu, ",[45,1831,1000],{}," для CentOS/Fedora).",[35,1834,1835,1838,1839,1853],{},[62,1836,1837],{},"SSH не перезапускается",": проверьте синтаксис конфига перед перезапуском:\n",[125,1840,1842],{"className":127,"code":1841,"language":129,"meta":130,"style":130},"sudo sshd -t\n",[45,1843,1844],{"__ignoreMap":130},[134,1845,1846,1848,1850],{"class":136,"line":137},[134,1847,47],{"class":140},[134,1849,1207],{"class":148},[134,1851,1852],{"class":144}," -t\n","\nЕсли вывод пустой — конфиг корректен.",[673,1855,1856],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":130,"searchDepth":383,"depth":383,"links":1858},[1859,1860,1861,1862,1863,1864,1865,1866,1867],{"id":18,"depth":383,"text":19},{"id":26,"depth":383,"text":27},{"id":1104,"depth":383,"text":1105},{"id":1332,"depth":383,"text":1333},{"id":1366,"depth":383,"text":1367},{"id":1423,"depth":383,"text":1424},{"id":1668,"depth":383,"text":1669},{"id":578,"depth":383,"text":579},{"id":610,"depth":383,"text":611},"2026-02-15 16:23:21","Научитесь защитить SSH-доступ на Linux с помощью 5 проверенных методов: смена порта, отключение root-логина, ключевая аутентификация, Fail2ban и ограничение пользователей. Подробное руководство для Ubuntu, Debian, CentOS.","15-20 мин",[1872,1875,1878,1881],{"question":1873,"answer":1874},"Зачем менять стандартный порт SSH?","Смена порта с 22 на другой снижает количество автоматических атак, так как большинство ботов сканируют только порт 22. Это не заменяет другие меры, но добавляет уровень безопасности через непредсказуемость.",{"question":1876,"answer":1877},"Безопасно ли полностью отключать аутентификацию по паролю в SSH?","Да, если вы используете SSH-ключи и надежно их храните. Это исключает подбор пароля и является рекомендованной практикой. Перед отключением убедитесь, что ключи работают для всех необходимых пользователей.",{"question":1879,"answer":1880},"Что делать, если потерял доступ к серверу после настройки SSH?","Используйте консольный доступ через панель управления хостинг-провайдера (KVM, IPMI) или физический доступ. В консоли откатите изменения в /etc/ssh/sshd_config, например, вернув PermitRootLogin yes и PasswordAuthentication yes.",{"question":1882,"answer":1883},"Fail2ban может заблокировать мой IP случайно?","Да, если вы несколько раз введете неправильный пароль или ключ. Рекомендуется добавить свой IP в Whitelist в конфигурации Fail2ban (ignoreip) или использовать более щадящие параметры ban и findtime.",[1885,1888,1891,1894,1897],{"name":1886,"text":1887},"Смена порта SSH","Измените порт прослушивания в /etc/ssh/sshd_config с 22 на другой (например, 2222) и перезапустите службу. Не забудьте открыть порт в фаерволе.",{"name":1889,"text":1890},"Отключение root-логина","Установите PermitRootLogin no в конфигурации SSH, чтобы запретить вход под root. Используйте обычного пользователя с sudo.",{"name":1892,"text":1893},"Отключение аутентификации по паролю","Запретите PasswordAuthentication, оставив только аутентификацию по SSH-ключам. Это устраняет риск подбора пароля.",{"name":1895,"text":1896},"Настройка Fail2ban","Установите и настройте Fail2ban для автоматической блокировки IP после нескольких неудачных попыток подключения к SSH.",{"name":1898,"text":1899},"Ограничение пользователей","Используйте AllowUsers в sshd_config, чтобы разрешить подключение только конкретным пользователям, уменьшая поверхность атаки.","PT20M",[1902,1903,1904,1905,1906,1907,1908,1909,1910,1911],"безопасность ssh linux","укрепить ssh сервер","настройка ssh конфигурации","отключить root логин ssh","сменить порт ssh","ssh ключи аутентификация","fail2ban настройка linux","защита от брутфорса ssh","ssh hardening guide","ошибка permission denied ssh",{},[1914,1915,1916],"/guides/linux/linux-ssh-connection-refused","/guides/linux/linux-ssh-permission-denied","/guides/linux/linux-ssh-key-setup",{"title":1028,"description":1869},"guides/linux/linux-ssh-security","В этом гайде вы узнаете, как усилить безопасность SSH-сервера на Linux, выполнив пять ключевых шагов, чтобы защититься от брутфорса и несанкционированного доступа.",[742,1406,1921,1922,1923,1924],"безопасность","server","hardening","configuration","-JXaaz3Fc9W1PhO3M2JSqHZDFS8CugEuhCMyulcV-uQ"]