[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/log-analysis-basics":3,"mdc-v6ebvv-key":1384,"mdc--fblzuy-key":1412,"mdc--dy0yjl-key":1442,"mdc-yg6fvd-key":1466,"mdc-f7n3gj-key":1497,"mdc-vn355j-key":1505,"mdc-5o1n9k-key":1548,"mdc-7oc3ys-key":1593,"mdc--z7ba7z-key":1601,"related-/guides/linux/systemd-service-management,/guides/linux/cron-job-troubleshooting,/errors/linux/ssh-connection-refused":1618},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1316,"code":73,"createdAt":1317,"description":1318,"difficulty":1319,"draft":1320,"estimatedTime":1321,"extension":1322,"faq":1323,"howToSteps":1336,"howToTotalTime":1352,"image":1316,"keywords":1353,"locale":1364,"meta":1365,"navigation":102,"path":1366,"platform":1367,"related":1368,"section":1372,"seo":1373,"severity":73,"stem":1374,"summary":1375,"tags":1376,"twitterCreator":1316,"twitterSite":1316,"type":1382,"updatedAt":1317,"__hash__":1383},"content_ru/guides/linux/log-analysis-basics.md","Анализ логов Linux: пошаговое руководство для начинающих",[7,8,9,10],"Ubuntu 20.04+","CentOS 8+","Debian 11+","Any systemd-based distro","FixPedia Team",{"type":13,"value":14,"toc":1283},"minimark",[15,20,24,28,51,55,62,67,248,258,262,269,273,321,325,475,479,482,489,495,568,575,585,621,628,640,711,728,732,735,834,838,841,845,852,904,910,914,932,936,939,959,963,967,1000,1004,1035,1039,1068,1072,1101,1104,1108,1111,1263,1267,1279],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Логи (journal) в Linux — это главный источник информации о том, что происходит в системе. Они содержат записи от ядра, системных служб и приложений. Умение быстро находить в них нужные данные — ключевой навык для диагностики сбоев, анализа безопасности и мониторинга производительности. После этого гайда вы сможете не просто \"смотреть логи\", а целенаправленно искать причины проблем.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[29,30,31,39,45,48],"ol",{},[32,33,34,38],"li",{},[35,36,37],"strong",{},"Доступ к терминалу"," Linux (Ubuntu, CentOS, Debian или другой дистрибутив с systemd).",[32,40,41,44],{},[35,42,43],{},"Права sudo"," (администратора) для чтения большинства системных логов. Без них вы увидите только записи, связанные с вашим пользователем.",[32,46,47],{},"Базовое знакомство с командной строкой (навигация, запуск команд).",[32,49,50],{},"Понимание, какая служба или процесс вызывает проблему (например, веб-сервер не запускается, сеть не поднимается).",[16,52,54],{"id":53},"шаг-1-начните-с-systemd-journal-journalctl","Шаг 1: Начните с systemd journal (journalctl)",[21,56,57,58,61],{},"Современные дистрибутивы Linux используют ",[35,59,60],{},"systemd-journald"," для централизованного сбора логов. Это самый мощный и удобный инструмент.",[63,64,66],"h3",{"id":65},"основные-команды-для-начала","Основные команды для начала:",[68,69,74],"pre",{"className":70,"code":71,"language":72,"meta":73,"style":73},"language-bash shiki shiki-themes github-light github-dark","# Показать все логи системы (сначала самые свежие)\nsudo journalctl\n\n# Показать логи только за текущую загрузку системы\nsudo journalctl -b\n\n# Фильтрация по конкретной службе (например, ssh)\nsudo journalctl -u ssh.service\n\n# Логи с уровнем ошибка (err) и выше (crit, alert, emerg)\nsudo journalctl -p err\n\n# Логи за определённый период\nsudo journalctl --since \"2024-01-15 09:00:00\" --until \"10:30\"\nsudo journalctl --since 1h  # за последний час\nsudo journalctl --since today\n\n# Следить за логами в реальном времени (аналог tail -f)\nsudo journalctl -f\n","bash","",[75,76,77,86,97,104,110,122,127,133,146,151,157,170,175,181,200,215,227,232,238],"code",{"__ignoreMap":73},[78,79,82],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"sJ8bj","# Показать все логи системы (сначала самые свежие)\n",[78,87,89,93],{"class":80,"line":88},2,[78,90,92],{"class":91},"sScJk","sudo",[78,94,96],{"class":95},"sZZnC"," journalctl\n",[78,98,100],{"class":80,"line":99},3,[78,101,103],{"emptyLinePlaceholder":102},true,"\n",[78,105,107],{"class":80,"line":106},4,[78,108,109],{"class":84},"# Показать логи только за текущую загрузку системы\n",[78,111,113,115,118],{"class":80,"line":112},5,[78,114,92],{"class":91},[78,116,117],{"class":95}," journalctl",[78,119,121],{"class":120},"sj4cs"," -b\n",[78,123,125],{"class":80,"line":124},6,[78,126,103],{"emptyLinePlaceholder":102},[78,128,130],{"class":80,"line":129},7,[78,131,132],{"class":84},"# Фильтрация по конкретной службе (например, ssh)\n",[78,134,136,138,140,143],{"class":80,"line":135},8,[78,137,92],{"class":91},[78,139,117],{"class":95},[78,141,142],{"class":120}," -u",[78,144,145],{"class":95}," ssh.service\n",[78,147,149],{"class":80,"line":148},9,[78,150,103],{"emptyLinePlaceholder":102},[78,152,154],{"class":80,"line":153},10,[78,155,156],{"class":84},"# Логи с уровнем ошибка (err) и выше (crit, alert, emerg)\n",[78,158,160,162,164,167],{"class":80,"line":159},11,[78,161,92],{"class":91},[78,163,117],{"class":95},[78,165,166],{"class":120}," -p",[78,168,169],{"class":95}," err\n",[78,171,173],{"class":80,"line":172},12,[78,174,103],{"emptyLinePlaceholder":102},[78,176,178],{"class":80,"line":177},13,[78,179,180],{"class":84},"# Логи за определённый период\n",[78,182,184,186,188,191,194,197],{"class":80,"line":183},14,[78,185,92],{"class":91},[78,187,117],{"class":95},[78,189,190],{"class":120}," --since",[78,192,193],{"class":95}," \"2024-01-15 09:00:00\"",[78,195,196],{"class":120}," --until",[78,198,199],{"class":95}," \"10:30\"\n",[78,201,203,205,207,209,212],{"class":80,"line":202},15,[78,204,92],{"class":91},[78,206,117],{"class":95},[78,208,190],{"class":120},[78,210,211],{"class":95}," 1h",[78,213,214],{"class":84},"  # за последний час\n",[78,216,218,220,222,224],{"class":80,"line":217},16,[78,219,92],{"class":91},[78,221,117],{"class":95},[78,223,190],{"class":120},[78,225,226],{"class":95}," today\n",[78,228,230],{"class":80,"line":229},17,[78,231,103],{"emptyLinePlaceholder":102},[78,233,235],{"class":80,"line":234},18,[78,236,237],{"class":84},"# Следить за логами в реальном времени (аналог tail -f)\n",[78,239,241,243,245],{"class":80,"line":240},19,[78,242,92],{"class":91},[78,244,117],{"class":95},[78,246,247],{"class":120}," -f\n",[21,249,250,253,254,257],{},[35,251,252],{},"💡 Совет:"," Комбинация флагов — ваша главная сила. Пример: ",[75,255,256],{},"sudo journalctl -u nginx --since '10 minutes ago' -p warning"," покажет предупреждения и ошибки nginx за последние 10 минут.",[16,259,261],{"id":260},"шаг-2-работа-с-классическими-текстовыми-логами-в-varlog","Шаг 2: Работа с классическими текстовыми логами в /var/log",[21,263,264,265,268],{},"Хотя journalctl доминирует, многие приложения (особенно сторонние или в контейнерах) пишут в отдельные текстовые файлы в ",[75,266,267],{},"/var/log/",".",[63,270,272],{"id":271},"ключевые-директории-и-файлы","Ключевые директории и файлы:",[274,275,276,286,295,301,311],"ul",{},[32,277,278,281,282,285],{},[75,279,280],{},"/var/log/syslog"," или ",[75,283,284],{},"/var/log/messages"," — общие системные события.",[32,287,288,281,291,294],{},[75,289,290],{},"/var/log/auth.log",[75,292,293],{},"/var/log/secure"," — логи аутентификации (ssh, sudo, login).",[32,296,297,300],{},[75,298,299],{},"/var/log/kern.log"," — сообщения ядра.",[32,302,303,306,307,310],{},[75,304,305],{},"/var/log/nginx/",", ",[75,308,309],{},"/var/log/apache2/"," — логи веб-серверов.",[32,312,313,316,317,320],{},[75,314,315],{},"/var/log/dmesg"," — буфер сообщений ядра (аналог ",[75,318,319],{},"dmesg",").",[63,322,324],{"id":323},"основные-команды-для-работы-с-текстовыми-логами","Основные команды для работы с текстовыми логами:",[68,326,328],{"className":70,"code":327,"language":72,"meta":73,"style":73},"# Просмотр последних строк файла (как tail)\nsudo tail -n 50 /var/log/syslog\n\n# Поиск по шаблону (регистрозависимо)\nsudo grep \"failed\" /var/log/syslog\n\n# Поиск с игнорированием регистра\nsudo grep -i \"error\" /var/log/auth.log\n\n# Поиск по нескольким файлам\nsudo grep \"connection\" /var/log/nginx/*.log\n\n# Просмотр в реальном времени\nsudo tail -f /var/log/syslog\n\n# Поиск с контекстом (3 строки до и после совпадения)\nsudo grep -A 3 -B 3 \"segfault\" /var/log/kern.log\n",[75,329,330,335,351,355,360,372,376,381,396,400,405,423,427,432,443,447,452],{"__ignoreMap":73},[78,331,332],{"class":80,"line":81},[78,333,334],{"class":84},"# Просмотр последних строк файла (как tail)\n",[78,336,337,339,342,345,348],{"class":80,"line":88},[78,338,92],{"class":91},[78,340,341],{"class":95}," tail",[78,343,344],{"class":120}," -n",[78,346,347],{"class":120}," 50",[78,349,350],{"class":95}," /var/log/syslog\n",[78,352,353],{"class":80,"line":99},[78,354,103],{"emptyLinePlaceholder":102},[78,356,357],{"class":80,"line":106},[78,358,359],{"class":84},"# Поиск по шаблону (регистрозависимо)\n",[78,361,362,364,367,370],{"class":80,"line":112},[78,363,92],{"class":91},[78,365,366],{"class":95}," grep",[78,368,369],{"class":95}," \"failed\"",[78,371,350],{"class":95},[78,373,374],{"class":80,"line":124},[78,375,103],{"emptyLinePlaceholder":102},[78,377,378],{"class":80,"line":129},[78,379,380],{"class":84},"# Поиск с игнорированием регистра\n",[78,382,383,385,387,390,393],{"class":80,"line":135},[78,384,92],{"class":91},[78,386,366],{"class":95},[78,388,389],{"class":120}," -i",[78,391,392],{"class":95}," \"error\"",[78,394,395],{"class":95}," /var/log/auth.log\n",[78,397,398],{"class":80,"line":148},[78,399,103],{"emptyLinePlaceholder":102},[78,401,402],{"class":80,"line":153},[78,403,404],{"class":84},"# Поиск по нескольким файлам\n",[78,406,407,409,411,414,417,420],{"class":80,"line":159},[78,408,92],{"class":91},[78,410,366],{"class":95},[78,412,413],{"class":95}," \"connection\"",[78,415,416],{"class":95}," /var/log/nginx/",[78,418,419],{"class":120},"*",[78,421,422],{"class":95},".log\n",[78,424,425],{"class":80,"line":172},[78,426,103],{"emptyLinePlaceholder":102},[78,428,429],{"class":80,"line":177},[78,430,431],{"class":84},"# Просмотр в реальном времени\n",[78,433,434,436,438,441],{"class":80,"line":183},[78,435,92],{"class":91},[78,437,341],{"class":95},[78,439,440],{"class":120}," -f",[78,442,350],{"class":95},[78,444,445],{"class":80,"line":202},[78,446,103],{"emptyLinePlaceholder":102},[78,448,449],{"class":80,"line":217},[78,450,451],{"class":84},"# Поиск с контекстом (3 строки до и после совпадения)\n",[78,453,454,456,458,461,464,467,469,472],{"class":80,"line":229},[78,455,92],{"class":91},[78,457,366],{"class":95},[78,459,460],{"class":120}," -A",[78,462,463],{"class":120}," 3",[78,465,466],{"class":120}," -B",[78,468,463],{"class":120},[78,470,471],{"class":95}," \"segfault\"",[78,473,474],{"class":95}," /var/log/kern.log\n",[16,476,478],{"id":477},"шаг-3-используйте-мощные-инструменты-для-сложного-анализа","Шаг 3: Используйте мощные инструменты для сложного анализа",[21,480,481],{},"Для глубокого анализа полезны утилиты, работающие как с выводом journalctl, так и с текстовыми файлами.",[63,483,485,488],{"id":484},"awk-для-извлечения-полей",[75,486,487],{},"awk"," — для извлечения полей",[21,490,491,492,494],{},"Логи часто имеют структурированный формат (дата, время, уровень, сообщение). ",[75,493,487],{}," позволяет работать с колонками.",[68,496,498],{"className":70,"code":497,"language":72,"meta":73,"style":73},"# Из journalctl вывести только время и сообщение, отфильтровав по PID\nsudo journalctl -o short-iso | awk '$5 == \"1234\" {print $1, $2, $3}'\n\n# Из текстового лога посчитать, сколько раз встречается конкретная ошибка\nsudo grep \"No space left on device\" /var/log/syslog | awk '{print $1}' | sort | uniq -c\n",[75,499,500,505,527,531,536],{"__ignoreMap":73},[78,501,502],{"class":80,"line":81},[78,503,504],{"class":84},"# Из journalctl вывести только время и сообщение, отфильтровав по PID\n",[78,506,507,509,511,514,517,521,524],{"class":80,"line":88},[78,508,92],{"class":91},[78,510,117],{"class":95},[78,512,513],{"class":120}," -o",[78,515,516],{"class":95}," short-iso",[78,518,520],{"class":519},"szBVR"," |",[78,522,523],{"class":91}," awk",[78,525,526],{"class":95}," '$5 == \"1234\" {print $1, $2, $3}'\n",[78,528,529],{"class":80,"line":99},[78,530,103],{"emptyLinePlaceholder":102},[78,532,533],{"class":80,"line":106},[78,534,535],{"class":84},"# Из текстового лога посчитать, сколько раз встречается конкретная ошибка\n",[78,537,538,540,542,545,548,550,552,555,557,560,562,565],{"class":80,"line":112},[78,539,92],{"class":91},[78,541,366],{"class":95},[78,543,544],{"class":95}," \"No space left on device\"",[78,546,547],{"class":95}," /var/log/syslog",[78,549,520],{"class":519},[78,551,523],{"class":91},[78,553,554],{"class":95}," '{print $1}'",[78,556,520],{"class":519},[78,558,559],{"class":91}," sort",[78,561,520],{"class":519},[78,563,564],{"class":91}," uniq",[78,566,567],{"class":120}," -c\n",[63,569,571,574],{"id":570},"less-поиск-для-интерактивного-изучения",[75,572,573],{},"less"," + поиск — для интерактивного изучения",[21,576,577,578,580,581,584],{},"Для больших файлов используйте ",[75,579,573],{}," (или ",[75,582,583],{},"sudo less /var/log/syslog","). Внутри less:",[274,586,587,596,606,612],{},[32,588,589,592,593,320],{},[75,590,591],{},"/"," — начать поиск (например, ",[75,594,595],{},"/timeout",[32,597,598,601,602,605],{},[75,599,600],{},"n"," / ",[75,603,604],{},"N"," — следующее/предыдущее совпадение.",[32,607,608,611],{},[75,609,610],{},"&"," — фильтровать вывод по шаблону (все строки, НЕ содержащие шаблон, скрываются).",[32,613,614,617,618,320],{},[75,615,616],{},"F"," — режим слежения (как ",[75,619,620],{},"tail -f",[63,622,624,627],{"id":623},"journalctl-в-качестве-источника-для-других-утилит",[75,625,626],{},"journalctl"," в качестве источника для других утилит",[21,629,630,631,633,634,306,637,639],{},"Вывод ",[75,632,626],{}," можно передавать в ",[75,635,636],{},"grep",[75,638,487],{}," и т.д.",[68,641,643],{"className":70,"code":642,"language":72,"meta":73,"style":73},"# Найти все записи, содержащие слово 'firewall', и сохранить их\nsudo journalctl | grep -i firewall > firewall_issues.log\n\n# Сортировать логи по PID и посмотреть уникальные процессы\nsudo journalctl -o json | jq -r '_processID' | sort | uniq\n",[75,644,645,650,671,675,680],{"__ignoreMap":73},[78,646,647],{"class":80,"line":81},[78,648,649],{"class":84},"# Найти все записи, содержащие слово 'firewall', и сохранить их\n",[78,651,652,654,656,658,660,662,665,668],{"class":80,"line":88},[78,653,92],{"class":91},[78,655,117],{"class":95},[78,657,520],{"class":519},[78,659,366],{"class":91},[78,661,389],{"class":120},[78,663,664],{"class":95}," firewall",[78,666,667],{"class":519}," >",[78,669,670],{"class":95}," firewall_issues.log\n",[78,672,673],{"class":80,"line":99},[78,674,103],{"emptyLinePlaceholder":102},[78,676,677],{"class":80,"line":106},[78,678,679],{"class":84},"# Сортировать логи по PID и посмотреть уникальные процессы\n",[78,681,682,684,686,688,691,693,696,699,702,704,706,708],{"class":80,"line":112},[78,683,92],{"class":91},[78,685,117],{"class":95},[78,687,513],{"class":120},[78,689,690],{"class":95}," json",[78,692,520],{"class":519},[78,694,695],{"class":91}," jq",[78,697,698],{"class":120}," -r",[78,700,701],{"class":95}," '_processID'",[78,703,520],{"class":519},[78,705,559],{"class":91},[78,707,520],{"class":519},[78,709,710],{"class":91}," uniq\n",[21,712,713],{},[714,715,716,717,720,721,724,725,727],"em",{},"(Примечание: для работы с ",[75,718,719],{},"-o json"," и ",[75,722,723],{},"jq"," может потребоваться установка пакета ",[75,726,723],{},")",[16,729,731],{"id":730},"шаг-4-сохраните-и-экспортируйте-важные-данные","Шаг 4: Сохраните и экспортируйте важные данные",[21,733,734],{},"Для долгосрочного анализа или отправки в поддержку нужно сохранить логи.",[68,736,738],{"className":70,"code":737,"language":72,"meta":73,"style":73},"# Экспорт логов конкретной службы за последние 2 часа в файл (формат journalctl)\nsudo journalctl -u sshd --since 2h > sshd_last_2h.log\n\n# Экспорт в стандартизированный текстовый формат (с временными метками)\nsudo journalctl -u nginx --since yesterday --no-pager > nginx_yesterday.txt\n\n# Создание сжатого архива логов для отправки\nsudo journalctl --since 2024-01-01 --until 2024-01-07 | gzip > logs_jan1-7.txt.gz\n",[75,739,740,745,766,770,775,799,803,808],{"__ignoreMap":73},[78,741,742],{"class":80,"line":81},[78,743,744],{"class":84},"# Экспорт логов конкретной службы за последние 2 часа в файл (формат journalctl)\n",[78,746,747,749,751,753,756,758,761,763],{"class":80,"line":88},[78,748,92],{"class":91},[78,750,117],{"class":95},[78,752,142],{"class":120},[78,754,755],{"class":95}," sshd",[78,757,190],{"class":120},[78,759,760],{"class":95}," 2h",[78,762,667],{"class":519},[78,764,765],{"class":95}," sshd_last_2h.log\n",[78,767,768],{"class":80,"line":99},[78,769,103],{"emptyLinePlaceholder":102},[78,771,772],{"class":80,"line":106},[78,773,774],{"class":84},"# Экспорт в стандартизированный текстовый формат (с временными метками)\n",[78,776,777,779,781,783,786,788,791,794,796],{"class":80,"line":112},[78,778,92],{"class":91},[78,780,117],{"class":95},[78,782,142],{"class":120},[78,784,785],{"class":95}," nginx",[78,787,190],{"class":120},[78,789,790],{"class":95}," yesterday",[78,792,793],{"class":120}," --no-pager",[78,795,667],{"class":519},[78,797,798],{"class":95}," nginx_yesterday.txt\n",[78,800,801],{"class":80,"line":124},[78,802,103],{"emptyLinePlaceholder":102},[78,804,805],{"class":80,"line":129},[78,806,807],{"class":84},"# Создание сжатого архива логов для отправки\n",[78,809,810,812,814,816,819,821,824,826,829,831],{"class":80,"line":135},[78,811,92],{"class":91},[78,813,117],{"class":95},[78,815,190],{"class":120},[78,817,818],{"class":95}," 2024-01-01",[78,820,196],{"class":120},[78,822,823],{"class":95}," 2024-01-07",[78,825,520],{"class":519},[78,827,828],{"class":91}," gzip",[78,830,667],{"class":519},[78,832,833],{"class":95}," logs_jan1-7.txt.gz\n",[16,835,837],{"id":836},"шаг-5-настройте-логирование-профилактика","Шаг 5: Настройте логирование (профилактика)",[21,839,840],{},"Чтобы избежать ситуаций, когда логи забивают диск, настройте ротацию (удаление старых логов) и уровень детализации.",[63,842,844],{"id":843},"для-systemd-journald","Для systemd-journald:",[21,846,847,848,851],{},"Отредактируйте ",[75,849,850],{},"/etc/systemd/journald.conf",":",[68,853,857],{"className":854,"code":855,"language":856,"meta":73,"style":73},"language-ini shiki shiki-themes github-light github-dark","[Journal]\n# Ограничить общий размер журнала\nSystemMaxUse=500M\n# Ограничить размер одного файла журнала\nSystemMaxFileSize=50M\n# Хранить логи не дольше 2 недель\nMaxRetentionSec=2week\n# Уровень детализации (info, debug, warning...). Для продакшена оставьте info или warning.\n# MaxLevelStore=info\n","ini",[75,858,859,864,869,874,879,884,889,894,899],{"__ignoreMap":73},[78,860,861],{"class":80,"line":81},[78,862,863],{},"[Journal]\n",[78,865,866],{"class":80,"line":88},[78,867,868],{},"# Ограничить общий размер журнала\n",[78,870,871],{"class":80,"line":99},[78,872,873],{},"SystemMaxUse=500M\n",[78,875,876],{"class":80,"line":106},[78,877,878],{},"# Ограничить размер одного файла журнала\n",[78,880,881],{"class":80,"line":112},[78,882,883],{},"SystemMaxFileSize=50M\n",[78,885,886],{"class":80,"line":124},[78,887,888],{},"# Хранить логи не дольше 2 недель\n",[78,890,891],{"class":80,"line":129},[78,892,893],{},"MaxRetentionSec=2week\n",[78,895,896],{"class":80,"line":135},[78,897,898],{},"# Уровень детализации (info, debug, warning...). Для продакшена оставьте info или warning.\n",[78,900,901],{"class":80,"line":148},[78,902,903],{},"# MaxLevelStore=info\n",[21,905,906,907,268],{},"Примените изменения: ",[75,908,909],{},"sudo systemctl restart systemd-journald",[63,911,913],{"id":912},"для-классических-логов-logrotate","Для классических логов (logrotate):",[21,915,916,917,920,921,924,925,720,928,931],{},"Логи в ",[75,918,919],{},"/var/log"," обычно управляются демоном ",[75,922,923],{},"logrotate",". Его конфигурация находится в ",[75,926,927],{},"/etc/logrotate.conf",[75,929,930],{},"/etc/logrotate.d/",". Стандартные настройки обычно адекватны.",[16,933,935],{"id":934},"проверка-результата","Проверка результата",[21,937,938],{},"Вы успешно научились анализировать логи, если можете:",[29,940,941,947,950,953],{},[32,942,943,944,320],{},"Найти последние ошибки для конкретной службы (например, ",[75,945,946],{},"sudo journalctl -u docker --since 1h -p err",[32,948,949],{},"Отфильтровать логи по времени и уровню критичности.",[32,951,952],{},"Сохранить релевантный фрагмент логов в файл для дальнейшего использования.",[32,954,955,956,320],{},"Понять, откуда брать логи для нового приложения (обычно это либо journalctl, либо файл в ",[75,957,958],{},"/var/log/\u003Cappname>/",[16,960,962],{"id":961},"возможные-проблемы","Возможные проблемы",[63,964,966],{"id":965},"проблема-permission-denied-при-чтении-логов","Проблема: \"Permission denied\" при чтении логов",[21,968,969,972,973,975,976,979,980,982,983,306,986,988,989,991,992,995,996,999],{},[35,970,971],{},"Причина:"," Вы запускаете команду без ",[75,974,92],{},".\n",[35,977,978],{},"Решение:"," Всегда используйте ",[75,981,92],{}," для чтения системных логов (",[75,984,985],{},"/var/log/*",[75,987,626],{},"). Если ",[75,990,92],{}," недоступен, можно добавить пользователя в группу ",[75,993,994],{},"adm"," (",[75,997,998],{},"sudo usermod -aG adm $USER","), но это требует перелогина.",[63,1001,1003],{"id":1002},"проблема-в-journalctl-пусто-или-нет-записей-за-определённый-период","Проблема: В journalctl пусто или нет записей за определённый период",[21,1005,1006,1009,1010,1013,1014,1017,1018,1021,1022,975,1025,1027,1028,281,1031,1034],{},[35,1007,1008],{},"Причина 1:"," Журнал мог быть очищен (",[75,1011,1012],{},"journalctl --vacuum-size",").\n",[35,1015,1016],{},"Причина 2:"," Слишком агрессивные настройки ",[75,1019,1020],{},"MaxRetentionSec"," в ",[75,1023,1024],{},"journald.conf",[35,1026,978],{}," Проверьте настройки хранения. Для постоянного архивирования критичных логов настройте их дублирование в отдельный текстовый файл через конфигурацию службы (например, ",[75,1029,1030],{},"StandardOutput=syslog",[75,1032,1033],{},"file"," в юните systemd).",[63,1036,1038],{"id":1037},"проблема-слишком-много-данных-ничего-не-найти","Проблема: Слишком много данных, ничего не найти",[21,1040,1041,1043,1044,1046,1047,306,1050,1053,1054,1057,1058,1061,1062,591,1065,268],{},[35,1042,971],{}," Запрос слишком общий или уровень логирования слишком низкий (debug).\n",[35,1045,978],{}," Усильте фильтрацию. Добавьте временные рамки (",[75,1048,1049],{},"--since",[75,1051,1052],{},"--until","), конкретную службу (",[75,1055,1056],{},"-u",") и уровень (",[75,1059,1060],{},"-p","). Если нужно, временно повысьте уровень логирования для службы, чтобы увидеть детали, но помните о последующем возврате к ",[75,1063,1064],{},"info",[75,1066,1067],{},"warning",[63,1069,1071],{"id":1070},"проблема-логи-приложения-пишутся-в-неизвестное-место","Проблема: Логи приложения пишутся в неизвестное место",[21,1073,1074,1076,1077,1079,1080,1082,1083,1086,1087,1090,1091,281,1094,1096,1097,1100],{},[35,1075,971],{}," Приложение может быть настроено на логирование в свой файл в ",[75,1078,267],{}," или в стандартный вывод (stdout/stderr), который systemd перехватывает.\n",[35,1081,978],{}," 1) Проверьте документацию приложения. 2) Найдите процесс (",[75,1084,1085],{},"ps aux | grep \u003Capp>",") и посмотрите его аргументы запуска. 3) Проверьте юниты systemd (",[75,1088,1089],{},"systemctl status \u003Capp>.service","), там может быть указан ",[75,1092,1093],{},"StandardOutput=journal",[75,1095,1033],{},". 4) Используйте ",[75,1098,1099],{},"sudo lsof -p \u003CPID> | grep log",", чтобы увидеть открытые файлы дескриптора процесса.",[1102,1103],"in-article-ad",{},[16,1105,1107],{"id":1106},"продвинутый-пример-поиск-причины-падения-сети","Продвинутый пример: поиск причины падения сети",[21,1109,1110],{},"Допустим, сеть периодически отключается.",[29,1112,1113,1123,1188,1217,1253],{},[32,1114,1115,1118,1119,1122],{},[35,1116,1117],{},"Определите временное окно:"," Когда было последнее падение? (",[75,1120,1121],{},"uptime",", история команд).",[32,1124,1125,1128],{},[35,1126,1127],{},"Проверьте ядро и сетевые службы:",[68,1129,1131],{"className":70,"code":1130,"language":72,"meta":73,"style":73},"sudo journalctl -b -k | grep -i \"network\\|eth\\|link\"  # логи ядра за текущую загрузку\nsudo journalctl -u systemd-networkd --since \"2 hours ago\"\nsudo journalctl -u NetworkManager --since \"2 hours ago\"\n",[75,1132,1133,1157,1173],{"__ignoreMap":73},[78,1134,1135,1137,1139,1142,1145,1147,1149,1151,1154],{"class":80,"line":81},[78,1136,92],{"class":91},[78,1138,117],{"class":95},[78,1140,1141],{"class":120}," -b",[78,1143,1144],{"class":120}," -k",[78,1146,520],{"class":519},[78,1148,366],{"class":91},[78,1150,389],{"class":120},[78,1152,1153],{"class":95}," \"network\\|eth\\|link\"",[78,1155,1156],{"class":84},"  # логи ядра за текущую загрузку\n",[78,1158,1159,1161,1163,1165,1168,1170],{"class":80,"line":88},[78,1160,92],{"class":91},[78,1162,117],{"class":95},[78,1164,142],{"class":120},[78,1166,1167],{"class":95}," systemd-networkd",[78,1169,190],{"class":120},[78,1171,1172],{"class":95}," \"2 hours ago\"\n",[78,1174,1175,1177,1179,1181,1184,1186],{"class":80,"line":99},[78,1176,92],{"class":91},[78,1178,117],{"class":95},[78,1180,142],{"class":120},[78,1182,1183],{"class":95}," NetworkManager",[78,1185,190],{"class":120},[78,1187,1172],{"class":95},[32,1189,1190,1193],{},[35,1191,1192],{},"Проверьте аутентификацию (если проблема с SSH):",[68,1194,1196],{"className":70,"code":1195,"language":72,"meta":73,"style":73},"sudo grep \"Failed password\" /var/log/auth.log | tail -20\n",[75,1197,1198],{"__ignoreMap":73},[78,1199,1200,1202,1204,1207,1210,1212,1214],{"class":80,"line":81},[78,1201,92],{"class":91},[78,1203,366],{"class":95},[78,1205,1206],{"class":95}," \"Failed password\"",[78,1208,1209],{"class":95}," /var/log/auth.log",[78,1211,520],{"class":519},[78,1213,341],{"class":91},[78,1215,1216],{"class":120}," -20\n",[32,1218,1219,1222],{},[35,1220,1221],{},"Проверьте системные сообщения:",[68,1223,1225],{"className":70,"code":1224,"language":72,"meta":73,"style":73},"sudo journalctl --since \"2 hours ago\" -p warning..err | grep -E \"(network|connection|timeout|reset)\"\n",[75,1226,1227],{"__ignoreMap":73},[78,1228,1229,1231,1233,1235,1238,1240,1243,1245,1247,1250],{"class":80,"line":81},[78,1230,92],{"class":91},[78,1232,117],{"class":95},[78,1234,190],{"class":120},[78,1236,1237],{"class":95}," \"2 hours ago\"",[78,1239,166],{"class":120},[78,1241,1242],{"class":95}," warning..err",[78,1244,520],{"class":519},[78,1246,366],{"class":91},[78,1248,1249],{"class":120}," -E",[78,1251,1252],{"class":95}," \"(network|connection|timeout|reset)\"\n",[32,1254,1255,1258,1259,1262],{},[35,1256,1257],{},"Сопоставьте с другими событиями:"," Возможно, падение совпадает с запуском другого сервиса (",[75,1260,1261],{},"sudo journalctl --since \"2 hours ago\" | grep \"Started\"","), ротацией логов или cron-задачей.",[16,1264,1266],{"id":1265},"заключение-не-добавляем-как-отдельный-заголовок","Заключение (не добавляем как отдельный заголовок)",[21,1268,1269,1270,720,1273,1275,1276,1278],{},"Анализ логов — это практический навык, который развивается с опытом. Начните с простых команд ",[75,1271,1272],{},"journalctl -u \u003Cservice> -f",[75,1274,636],{}," по ",[75,1277,267],{},". Со временем вы научитесь быстро комбинировать фильтры, понимать типичные паттерны ошибок и проводить_root cause analysis_ (анализ первопричины). Помните: логи почти всегда говорят правду, если умеешь их читать.",[1280,1281,1282],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":73,"searchDepth":88,"depth":88,"links":1284},[1285,1286,1287,1290,1294,1302,1303,1307,1308,1314,1315],{"id":18,"depth":88,"text":19},{"id":26,"depth":88,"text":27},{"id":53,"depth":88,"text":54,"children":1288},[1289],{"id":65,"depth":99,"text":66},{"id":260,"depth":88,"text":261,"children":1291},[1292,1293],{"id":271,"depth":99,"text":272},{"id":323,"depth":99,"text":324},{"id":477,"depth":88,"text":478,"children":1295},[1296,1298,1300],{"id":484,"depth":99,"text":1297},"awk — для извлечения полей",{"id":570,"depth":99,"text":1299},"less + поиск — для интерактивного изучения",{"id":623,"depth":99,"text":1301},"journalctl в качестве источника для других утилит",{"id":730,"depth":88,"text":731},{"id":836,"depth":88,"text":837,"children":1304},[1305,1306],{"id":843,"depth":99,"text":844},{"id":912,"depth":99,"text":913},{"id":934,"depth":88,"text":935},{"id":961,"depth":88,"text":962,"children":1309},[1310,1311,1312,1313],{"id":965,"depth":99,"text":966},{"id":1002,"depth":99,"text":1003},{"id":1037,"depth":99,"text":1038},{"id":1070,"depth":99,"text":1071},{"id":1106,"depth":88,"text":1107},{"id":1265,"depth":88,"text":1266},null,"2026-02-16 12:58:09","Узнайте, как находить и интерпретировать системные логи в Linux с помощью journalctl, grep и других инструментов. Пошаговая инструкция с примерами для Ubuntu, CentOS и других дистрибутивов.","easy",false,"10-15 мин","md",[1324,1327,1330,1333],{"question":1325,"answer":1326},"Как посмотреть логи в реальном времени в Linux?","Используйте команду `journalctl -f` для логов systemd или `tail -f /var/log/syslog` для классических текстовых логов. Обе команды будут выводить новые записи по мере их появления.",{"question":1328,"answer":1329},"Почему у меня нет доступа к файлам в /var/log?","Большинство файлов логов принадлежит root. Используйте `sudo` для их чтения (например, `sudo cat /var/log/auth.log`). Если нужен постоянный доступ, добавьте пользователя в группу `adm`.",{"question":1331,"answer":1332},"Чем journalctl лучше обычных текстовых логов?","Journalctl собирает логи со всей системы в единый бинарный журнал с метаданными (время, процесс, уровень). Это позволяет сложную фильтрацию (`journalctl -u nginx --since today`), в отличие от простого `grep` по текстовым файлам.",{"question":1334,"answer":1335},"Как очистить журнал systemd, если он занял весь диск?","Ограничьте размер журнала: `sudo journalctl --vacuum-time=3d` (оставить 3 дня) или `sudo journalctl --vacuum-size=100M`. Также можно настроить политику хранения в `/etc/systemd/journald.conf`.",[1337,1340,1343,1346,1349],{"name":1338,"text":1339},"Определите источник проблемы","Сначала поймите, какая служба или компонент работает некорректно. Это сузит круг логов для анализа (например, nginx, sshd, kernel).",{"name":1341,"text":1342},"Изучите основные locations логов","Знайте ключевые пути: `/var/log/syslog` (общие системные события), `/var/log/auth.log` (аутентификация), `/var/log/kern.log` (ядро), `/var/log/nginx/` (логи веб-сервера). Для systemd используйте `journalctl`.",{"name":1344,"text":1345},"Освойте базовые команды фильтрации","Используйте `grep` для поиска по текстовым логам (например, `grep 'error' /var/log/syslog`). В journalctl применяйте флаги: `-u` (служба), `-p` (уровень критичности), `--since` (временной диапазон).",{"name":1347,"text":1348},"Анализируйте контекст ошибок","Найдите не только само сообщение об ошибке, но и записи за несколько секунд/минут до него. Часто причина скрыта в предшествующих событиях (например, 'failed to start' после 'permission denied').",{"name":1350,"text":1351},"Сохраните и структурируйте вывод","Перенаправляйте важные фрагменты в отдельный файл: `journalctl -u nginx --since '1 hour ago' > nginx_issues.log`. Добавляйте временные метки для последующего сравнения.","PT15M",[1354,1355,1356,1357,1358,1359,1360,1361,1362,1363],"анализ логов linux","где находятся логи в linux","journalctl команды","как читать логи linux","grep поиск по логам","системные логи ubuntu","log analysis linux tutorial","основы диагностики linux","/var/log папка","systemd journal","ru_RU",{},"/guides/linux/log-analysis-basics","linux",[1369,1370,1371],"/guides/linux/systemd-service-management","/guides/linux/cron-job-troubleshooting","/errors/linux/ssh-connection-refused","Гайды Linux",{"title":5,"description":1318},"guides/linux/log-analysis-basics","Это руководство научит вас основным командам и методам анализа логов в Linux. Вы узнаете, где хранятся логи, как их читать, фильтровать и искать ошибки, чтобы быстрее диагностировать проблемы в системе.",[1367,1377,1378,1379,72,1380,1381],"logs","systemd","debugging","sysadmin","monitoring","guide","UhQ3AnNyCI99AGZulaKWQvbrri-LlQrW5YTveHmPLFg",{"data":1385,"body":1386},{},{"type":1387,"children":1388},"root",[1389],{"type":1390,"tag":21,"props":1391,"children":1392},"element",{},[1393,1396,1402,1404,1410],{"type":1394,"value":1395},"text","Используйте команду ",{"type":1390,"tag":75,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":1394,"value":1401},"journalctl -f",{"type":1394,"value":1403}," для логов systemd или ",{"type":1390,"tag":75,"props":1405,"children":1407},{"className":1406},[],[1408],{"type":1394,"value":1409},"tail -f /var/log/syslog",{"type":1394,"value":1411}," для классических текстовых логов. Обе команды будут выводить новые записи по мере их появления.",{"data":1413,"body":1414},{},{"type":1387,"children":1415},[1416],{"type":1390,"tag":21,"props":1417,"children":1418},{},[1419,1421,1426,1428,1434,1436,1441],{"type":1394,"value":1420},"Большинство файлов логов принадлежит root. Используйте ",{"type":1390,"tag":75,"props":1422,"children":1424},{"className":1423},[],[1425],{"type":1394,"value":92},{"type":1394,"value":1427}," для их чтения (например, ",{"type":1390,"tag":75,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":1394,"value":1433},"sudo cat /var/log/auth.log",{"type":1394,"value":1435},"). Если нужен постоянный доступ, добавьте пользователя в группу ",{"type":1390,"tag":75,"props":1437,"children":1439},{"className":1438},[],[1440],{"type":1394,"value":994},{"type":1394,"value":268},{"data":1443,"body":1444},{},{"type":1387,"children":1445},[1446],{"type":1390,"tag":21,"props":1447,"children":1448},{},[1449,1451,1457,1459,1464],{"type":1394,"value":1450},"Journalctl собирает логи со всей системы в единый бинарный журнал с метаданными (время, процесс, уровень). Это позволяет сложную фильтрацию (",{"type":1390,"tag":75,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":1394,"value":1456},"journalctl -u nginx --since today",{"type":1394,"value":1458},"), в отличие от простого ",{"type":1390,"tag":75,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":1394,"value":636},{"type":1394,"value":1465}," по текстовым файлам.",{"data":1467,"body":1468},{},{"type":1387,"children":1469},[1470],{"type":1390,"tag":21,"props":1471,"children":1472},{},[1473,1475,1481,1483,1489,1491,1496],{"type":1394,"value":1474},"Ограничьте размер журнала: ",{"type":1390,"tag":75,"props":1476,"children":1478},{"className":1477},[],[1479],{"type":1394,"value":1480},"sudo journalctl --vacuum-time=3d",{"type":1394,"value":1482}," (оставить 3 дня) или ",{"type":1390,"tag":75,"props":1484,"children":1486},{"className":1485},[],[1487],{"type":1394,"value":1488},"sudo journalctl --vacuum-size=100M",{"type":1394,"value":1490},". Также можно настроить политику хранения в ",{"type":1390,"tag":75,"props":1492,"children":1494},{"className":1493},[],[1495],{"type":1394,"value":850},{"type":1394,"value":268},{"data":1498,"body":1499},{},{"type":1387,"children":1500},[1501],{"type":1390,"tag":21,"props":1502,"children":1503},{},[1504],{"type":1394,"value":1339},{"data":1506,"body":1507},{},{"type":1387,"children":1508},[1509],{"type":1390,"tag":21,"props":1510,"children":1511},{},[1512,1514,1519,1521,1526,1528,1533,1535,1540,1542,1547],{"type":1394,"value":1513},"Знайте ключевые пути: ",{"type":1390,"tag":75,"props":1515,"children":1517},{"className":1516},[],[1518],{"type":1394,"value":280},{"type":1394,"value":1520}," (общие системные события), ",{"type":1390,"tag":75,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":1394,"value":290},{"type":1394,"value":1527}," (аутентификация), ",{"type":1390,"tag":75,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":1394,"value":299},{"type":1394,"value":1534}," (ядро), ",{"type":1390,"tag":75,"props":1536,"children":1538},{"className":1537},[],[1539],{"type":1394,"value":305},{"type":1394,"value":1541}," (логи веб-сервера). Для systemd используйте ",{"type":1390,"tag":75,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":1394,"value":626},{"type":1394,"value":268},{"data":1549,"body":1550},{},{"type":1387,"children":1551},[1552],{"type":1390,"tag":21,"props":1553,"children":1554},{},[1555,1557,1562,1564,1570,1572,1577,1579,1584,1586,1591],{"type":1394,"value":1556},"Используйте ",{"type":1390,"tag":75,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":1394,"value":636},{"type":1394,"value":1563}," для поиска по текстовым логам (например, ",{"type":1390,"tag":75,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":1394,"value":1569},"grep 'error' /var/log/syslog",{"type":1394,"value":1571},"). В journalctl применяйте флаги: ",{"type":1390,"tag":75,"props":1573,"children":1575},{"className":1574},[],[1576],{"type":1394,"value":1056},{"type":1394,"value":1578}," (служба), ",{"type":1390,"tag":75,"props":1580,"children":1582},{"className":1581},[],[1583],{"type":1394,"value":1060},{"type":1394,"value":1585}," (уровень критичности), ",{"type":1390,"tag":75,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":1394,"value":1049},{"type":1394,"value":1592}," (временной диапазон).",{"data":1594,"body":1595},{},{"type":1387,"children":1596},[1597],{"type":1390,"tag":21,"props":1598,"children":1599},{},[1600],{"type":1394,"value":1348},{"data":1602,"body":1603},{},{"type":1387,"children":1604},[1605],{"type":1390,"tag":21,"props":1606,"children":1607},{},[1608,1610,1616],{"type":1394,"value":1609},"Перенаправляйте важные фрагменты в отдельный файл: ",{"type":1390,"tag":75,"props":1611,"children":1613},{"className":1612},[],[1614],{"type":1394,"value":1615},"journalctl -u nginx --since '1 hour ago' > nginx_issues.log",{"type":1394,"value":1617},". Добавляйте временные метки для последующего сравнения.",[1619,2439],{"id":1620,"title":1621,"appliesTo":1622,"author":11,"body":1626,"canonical":1316,"code":1316,"createdAt":2383,"description":2384,"difficulty":2385,"draft":1320,"estimatedTime":2386,"extension":1322,"faq":2387,"howToSteps":2400,"howToTotalTime":2419,"image":1316,"keywords":2420,"locale":1364,"meta":2429,"navigation":102,"path":1369,"platform":1367,"related":2430,"section":1372,"seo":2434,"severity":1316,"stem":2435,"summary":2436,"tags":2437,"twitterCreator":1316,"twitterSite":1316,"type":1382,"updatedAt":2383,"__hash__":2438},"content_ru/guides/linux/systemd-service-management.md","Управление systemd-сервисами: полное руководство по запуску, остановке и настройке",[7,1623,1624,1625],"CentOS/RHEL 8+","Debian 10+","Fedora",{"type":13,"value":1627,"toc":2372},[1628,1630,1633,1641,1643,1660,1664,1667,1778,1782,1788,1872,1874,1878,1980,1984,1989,2106,2110,2186,2188,2234,2236,2369],[16,1629,19],{"id":18},[21,1631,1632],{},"Systemd стал стандартом для управления службами и процессами в большинстве современных дистрибутивов Linux (Ubuntu, Fedora, CentOS/RHEL 8+, Debian 10+). Понимание его основ — обязательный навык для системного администратора и разработчика, работающего с серверами.",[21,1634,1635,1636,720,1639,268],{},"Это руководство даст вам практические навыки для повседневного управления сервисами: запуск, остановка, настройка автозапуска и диагностика сбоев. Вы сможете уверенно работать с такими командами, как ",[75,1637,1638],{},"systemctl",[75,1640,626],{},[16,1642,27],{"id":26},[274,1644,1645,1651,1657],{},[32,1646,1647,1648,320],{},"Дистрибутив Linux с системой инициализации systemd (проверьте: ",[75,1649,1650],{},"pidof systemd",[32,1652,1653,1654,1656],{},"Доступ к терминалу с правами ",[35,1655,92],{}," (для управления системными службами).",[32,1658,1659],{},"Базовое понимание командной строки.",[16,1661,1663],{"id":1662},"шаг-1-основные-команды-управления-состоянием-службы","Шаг 1: Основные команды управления состоянием службы",[21,1665,1666],{},"Systemctl — основной инструмент взаимодействия с systemd. Вот ключевые команды для управления состоянием:",[274,1668,1669,1698,1719,1740],{},[32,1670,1671,1674,1692],{},[35,1672,1673],{},"Запуск службы:",[68,1675,1677],{"className":70,"code":1676,"language":72,"meta":73,"style":73},"sudo systemctl start имя_службы.service\n",[75,1678,1679],{"__ignoreMap":73},[78,1680,1681,1683,1686,1689],{"class":80,"line":81},[78,1682,92],{"class":91},[78,1684,1685],{"class":95}," systemctl",[78,1687,1688],{"class":95}," start",[78,1690,1691],{"class":95}," имя_службы.service\n",[714,1693,1694,1695],{},"Пример: ",[75,1696,1697],{},"sudo systemctl start nginx",[32,1699,1700,1703],{},[35,1701,1702],{},"Остановка службы:",[68,1704,1706],{"className":70,"code":1705,"language":72,"meta":73,"style":73},"sudo systemctl stop имя_службы.service\n",[75,1707,1708],{"__ignoreMap":73},[78,1709,1710,1712,1714,1717],{"class":80,"line":81},[78,1711,92],{"class":91},[78,1713,1685],{"class":95},[78,1715,1716],{"class":95}," stop",[78,1718,1691],{"class":95},[32,1720,1721,1724],{},[35,1722,1723],{},"Перезапуск службы (мягкий):",[68,1725,1727],{"className":70,"code":1726,"language":72,"meta":73,"style":73},"sudo systemctl restart имя_службы.service\n",[75,1728,1729],{"__ignoreMap":73},[78,1730,1731,1733,1735,1738],{"class":80,"line":81},[78,1732,92],{"class":91},[78,1734,1685],{"class":95},[78,1736,1737],{"class":95}," restart",[78,1739,1691],{"class":95},[32,1741,1742,1745,1761],{},[35,1743,1744],{},"Принудительная перезагрузка (kill и запуск):",[68,1746,1748],{"className":70,"code":1747,"language":72,"meta":73,"style":73},"sudo systemctl try-restart имя_службы.service\n",[75,1749,1750],{"__ignoreMap":73},[78,1751,1752,1754,1756,1759],{"class":80,"line":81},[78,1753,92],{"class":91},[78,1755,1685],{"class":95},[78,1757,1758],{"class":95}," try-restart",[78,1760,1691],{"class":95},[1762,1763,1764],"blockquote",{},[21,1765,1766,1767,1770,1771,995,1774,1777],{},"💡 ",[35,1768,1769],{},"Совет:"," Для веб-серверов (nginx, apache) после изменения конфигурации используйте ",[75,1772,1773],{},"reload",[75,1775,1776],{},"sudo systemctl reload nginx","), чтобы перечитать конфиг без разрыва соединений.",[16,1779,1781],{"id":1780},"шаг-2-управление-автозагрузкой-включениеотключение","Шаг 2: Управление автозагрузкой (включение/отключение)",[21,1783,1784,1785,268],{},"Чтобы служба автоматически запускалась при загрузке системы, её нужно ",[714,1786,1787],{},"включить",[274,1789,1790,1815,1836],{},[32,1791,1792,1795,1811,1812,268],{},[35,1793,1794],{},"Включить автозапуск:",[68,1796,1798],{"className":70,"code":1797,"language":72,"meta":73,"style":73},"sudo systemctl enable имя_службы.service\n",[75,1799,1800],{"__ignoreMap":73},[78,1801,1802,1804,1806,1809],{"class":80,"line":81},[78,1803,92],{"class":91},[78,1805,1685],{"class":95},[78,1807,1808],{"class":95}," enable",[78,1810,1691],{"class":95},"\nЭта команда создаёт символьную ссылку на unit-файл в каталоге ",[75,1813,1814],{},"/etc/systemd/system/",[32,1816,1817,1820],{},[35,1818,1819],{},"Отключить автозапуск:",[68,1821,1823],{"className":70,"code":1822,"language":72,"meta":73,"style":73},"sudo systemctl disable имя_службы.service\n",[75,1824,1825],{"__ignoreMap":73},[78,1826,1827,1829,1831,1834],{"class":80,"line":81},[78,1828,92],{"class":91},[78,1830,1685],{"class":95},[78,1832,1833],{"class":95}," disable",[78,1835,1691],{"class":95},[32,1837,1838,1841,1855,1856,1859,1860,1863,1864,1867,1868,1871],{},[35,1839,1840],{},"Проверить, включена ли служба в автозагрузку:",[68,1842,1844],{"className":70,"code":1843,"language":72,"meta":73,"style":73},"systemctl is-enabled имя_службы.service\n",[75,1845,1846],{"__ignoreMap":73},[78,1847,1848,1850,1853],{"class":80,"line":81},[78,1849,1638],{"class":91},[78,1851,1852],{"class":95}," is-enabled",[78,1854,1691],{"class":95},"\nВывод: ",[75,1857,1858],{},"enabled"," (включена), ",[75,1861,1862],{},"disabled"," (отключена), ",[75,1865,1866],{},"static"," (не может быть включена напрямую, но может быть зависимостью), ",[75,1869,1870],{},"masked"," (полностью заблокирована).",[1102,1873],{},[16,1875,1877],{"id":1876},"шаг-3-просмотр-статуса-и-всех-служб","Шаг 3: Просмотр статуса и всех служб",[274,1879,1880,1908,1928,1950],{},[32,1881,1882,1885,1899,1900,1903,1904,1907],{},[35,1883,1884],{},"Детальный статус конкретной службы:",[68,1886,1888],{"className":70,"code":1887,"language":72,"meta":73,"style":73},"systemctl status имя_службы.service\n",[75,1889,1890],{"__ignoreMap":73},[78,1891,1892,1894,1897],{"class":80,"line":81},[78,1893,1638],{"class":91},[78,1895,1896],{"class":95}," status",[78,1898,1691],{"class":95},"\nВывод показывает: ",[75,1901,1902],{},"Active:"," (состояние), ",[75,1905,1906],{},"Main PID:"," (идентификатор процесса), и последние строки журнала этой службы.",[32,1909,1910,1913],{},[35,1911,1912],{},"Список всех загруженных (активных) юнитов:",[68,1914,1916],{"className":70,"code":1915,"language":72,"meta":73,"style":73},"systemctl list-units --type=service\n",[75,1917,1918],{"__ignoreMap":73},[78,1919,1920,1922,1925],{"class":80,"line":81},[78,1921,1638],{"class":91},[78,1923,1924],{"class":95}," list-units",[78,1926,1927],{"class":120}," --type=service\n",[32,1929,1930,1933],{},[35,1931,1932],{},"Список ВСЕХ доступных служб (включая неактивные):",[68,1934,1936],{"className":70,"code":1935,"language":72,"meta":73,"style":73},"systemctl list-units --type=service --all\n",[75,1937,1938],{"__ignoreMap":73},[78,1939,1940,1942,1944,1947],{"class":80,"line":81},[78,1941,1638],{"class":91},[78,1943,1924],{"class":95},[78,1945,1946],{"class":120}," --type=service",[78,1948,1949],{"class":120}," --all\n",[32,1951,1952,1955],{},[35,1953,1954],{},"Поиск службы по имени:",[68,1956,1958],{"className":70,"code":1957,"language":72,"meta":73,"style":73},"systemctl list-units --type=service --all | grep -i ssh\n",[75,1959,1960],{"__ignoreMap":73},[78,1961,1962,1964,1966,1968,1971,1973,1975,1977],{"class":80,"line":81},[78,1963,1638],{"class":91},[78,1965,1924],{"class":95},[78,1967,1946],{"class":120},[78,1969,1970],{"class":120}," --all",[78,1972,520],{"class":519},[78,1974,366],{"class":91},[78,1976,389],{"class":120},[78,1978,1979],{"class":95}," ssh\n",[16,1981,1983],{"id":1982},"шаг-4-анализ-логов-с-помощью-journalctl","Шаг 4: Анализ логов с помощью journalctl",[21,1985,1986,1987,268],{},"Логи systemd хранятся в бинарном журнале, доступном через ",[75,1988,626],{},[274,1990,1991,2011,2037,2055,2081],{},[32,1992,1993,1996],{},[35,1994,1995],{},"Просмотр логов конкретной службы:",[68,1997,1999],{"className":70,"code":1998,"language":72,"meta":73,"style":73},"sudo journalctl -u имя_службы.service\n",[75,2000,2001],{"__ignoreMap":73},[78,2002,2003,2005,2007,2009],{"class":80,"line":81},[78,2004,92],{"class":91},[78,2006,117],{"class":95},[78,2008,142],{"class":120},[78,2010,1691],{"class":95},[32,2012,2013,2019],{},[35,2014,2015,2016,2018],{},"Отслеживание логов в реальном времени (аналог ",[75,2017,620],{},"):",[68,2020,2022],{"className":70,"code":2021,"language":72,"meta":73,"style":73},"sudo journalctl -u имя_службы.service -f\n",[75,2023,2024],{"__ignoreMap":73},[78,2025,2026,2028,2030,2032,2035],{"class":80,"line":81},[78,2027,92],{"class":91},[78,2029,117],{"class":95},[78,2031,142],{"class":120},[78,2033,2034],{"class":95}," имя_службы.service",[78,2036,247],{"class":120},[32,2038,2039,2042],{},[35,2040,2041],{},"Логи за последнюю загрузку системы:",[68,2043,2045],{"className":70,"code":2044,"language":72,"meta":73,"style":73},"sudo journalctl -b\n",[75,2046,2047],{"__ignoreMap":73},[78,2048,2049,2051,2053],{"class":80,"line":81},[78,2050,92],{"class":91},[78,2052,117],{"class":95},[78,2054,121],{"class":120},[32,2056,2057,2060],{},[35,2058,2059],{},"Логи с фильтрацией по времени:",[68,2061,2063],{"className":70,"code":2062,"language":72,"meta":73,"style":73},"sudo journalctl --since \"2026-02-15 10:00:00\" --until \"2026-02-15 12:00:00\"\n",[75,2064,2065],{"__ignoreMap":73},[78,2066,2067,2069,2071,2073,2076,2078],{"class":80,"line":81},[78,2068,92],{"class":91},[78,2070,117],{"class":95},[78,2072,190],{"class":120},[78,2074,2075],{"class":95}," \"2026-02-15 10:00:00\"",[78,2077,196],{"class":120},[78,2079,2080],{"class":95}," \"2026-02-15 12:00:00\"\n",[32,2082,2083,2086],{},[35,2084,2085],{},"Показать логи с максимальной детализацией для службы:",[68,2087,2089],{"className":70,"code":2088,"language":72,"meta":73,"style":73},"sudo journalctl -u имя_службы.service -o verbose\n",[75,2090,2091],{"__ignoreMap":73},[78,2092,2093,2095,2097,2099,2101,2103],{"class":80,"line":81},[78,2094,92],{"class":91},[78,2096,117],{"class":95},[78,2098,142],{"class":120},[78,2100,2034],{"class":95},[78,2102,513],{"class":120},[78,2104,2105],{"class":95}," verbose\n",[16,2107,2109],{"id":2108},"шаг-5-дополнительные-операции-перезагрузка-конфигурации-маскировка","Шаг 5: Дополнительные операции (перезагрузка конфигурации, маскировка)",[274,2111,2112,2131,2160],{},[32,2113,2114,2117],{},[35,2115,2116],{},"Перезагрузка конфигурации systemd (обязательно после создания/изменения unit-файлов):",[68,2118,2120],{"className":70,"code":2119,"language":72,"meta":73,"style":73},"sudo systemctl daemon-reload\n",[75,2121,2122],{"__ignoreMap":73},[78,2123,2124,2126,2128],{"class":80,"line":81},[78,2125,92],{"class":91},[78,2127,1685],{"class":95},[78,2129,2130],{"class":95}," daemon-reload\n",[32,2132,2133,2136,2152,2153,2156,2157,268],{},[35,2134,2135],{},"Полная блокировка службы (mask) — предотвращает любой ручной или автоматический запуск:",[68,2137,2139],{"className":70,"code":2138,"language":72,"meta":73,"style":73},"sudo systemctl mask имя_службы.service\n",[75,2140,2141],{"__ignoreMap":73},[78,2142,2143,2145,2147,2150],{"class":80,"line":81},[78,2144,92],{"class":91},[78,2146,1685],{"class":95},[78,2148,2149],{"class":95}," mask",[78,2151,1691],{"class":95},"\nСоздаёт символическую ссылку на ",[75,2154,2155],{},"/dev/null",". Разблокировка: ",[75,2158,2159],{},"sudo systemctl unmask имя_службы.service",[32,2161,2162,2165,2181,2182,2185],{},[35,2163,2164],{},"Принудительная остановка и сброс состояния службы:",[68,2166,2168],{"className":70,"code":2167,"language":72,"meta":73,"style":73},"sudo systemctl reset-failed имя_службы.service\n",[75,2169,2170],{"__ignoreMap":73},[78,2171,2172,2174,2176,2179],{"class":80,"line":81},[78,2173,92],{"class":91},[78,2175,1685],{"class":95},[78,2177,2178],{"class":95}," reset-failed",[78,2180,1691],{"class":95},"\nПолезно, если служба в состоянии ",[75,2183,2184],{},"failed"," и не запускается после исправления ошибки.",[16,2187,935],{"id":934},[29,2189,2190,2206,2216],{},[32,2191,2192,2195,2196,2199,2200,2202,2203,268],{},[35,2193,2194],{},"Для проверки работы:"," выполните ",[75,2197,2198],{},"systemctl status имя_службы",". Убедитесь, что строка ",[75,2201,1902],{}," содержит ",[75,2204,2205],{},"active (running)",[32,2207,2208,2211,2212,2215],{},[35,2209,2210],{},"Для проверки автозагрузки:"," перезагрузите систему (",[75,2213,2214],{},"sudo reboot",") и после входа проверьте статус службы.",[32,2217,2218,2221,2222,2225,2226,306,2228,306,2231,320],{},[35,2219,2220],{},"Для проверки логов:"," убедитесь, что ",[75,2223,2224],{},"journalctl -u имя_службы"," не содержит ошибок (",[75,2227,2184],{},[75,2229,2230],{},"error",[75,2232,2233],{},"permission denied",[16,2235,962],{"id":961},[274,2237,2238,2263,2286,2307,2344],{},[32,2239,2240,2249],{},[35,2241,2242,2243,281,2246],{},"Ошибка ",[75,2244,2245],{},"Failed to start ...",[75,2247,2248],{},"Unit not found.",[274,2250,2251],{},[32,2252,2253,2255,2256,2259,2260,268],{},[35,2254,971],{}," Unit-файл отсутствует или имеет неверное имя. Убедитесь, что служба существует: ",[75,2257,2258],{},"systemctl list-unit-files | grep имя_службы",". Проверьте синтаксис unit-файла: ",[75,2261,2262],{},"sudo systemd-analyze verify /etc/systemd/system/имя_службы.service",[32,2264,2265,2268],{},[35,2266,2267],{},"Служба запускается, но сразу же останавливается.",[274,2269,2270],{},[32,2271,2272,2274,2275,2278,2279,2282,2283,268],{},[35,2273,971],{}," Ошибка в самом приложении или неверные параметры в секции ",[75,2276,2277],{},"[Service]"," (например, ",[75,2280,2281],{},"ExecStart"," указывает на несуществующий бинарник). Смотрите детальные логи: ",[75,2284,2285],{},"sudo journalctl -u имя_службы.service -n 50 --no-pager",[32,2287,2288,2294],{},[35,2289,2290,2293],{},[75,2291,2292],{},"Permission denied"," при попытке управления системной службой.",[274,2295,2296],{},[32,2297,2298,2300,2301,2303,2304,2306],{},[35,2299,971],{}," Выполняете команду без ",[75,2302,92],{},". Для управления системными службами (из ",[75,2305,1814],{},") требуются права root.",[32,2308,2309,2316],{},[35,2310,2311,2312,2315],{},"Служба не включается в автозагрузку (",[75,2313,2314],{},"enable"," не срабатывает).",[274,2317,2318],{},[32,2319,2320,2322,2323,2326,2327,281,2330,2333,2334,2337,2338,720,2341,2343],{},[35,2321,971],{}," Unit-файл имеет ",[75,2324,2325],{},"[Install]"," секцию, но не содержит ",[75,2328,2329],{},"WantedBy=",[75,2331,2332],{},"RequiredBy="," (чаще всего ",[75,2335,2336],{},"WantedBy=multi-user.target","). Добавьте эту строку в unit-файл и выполните ",[75,2339,2340],{},"daemon-reload",[75,2342,2314],{}," заново.",[32,2345,2346,2349],{},[35,2347,2348],{},"Циклические перезапуски (restart loop).",[274,2350,2351],{},[32,2352,2353,2355,2356,2202,2358,580,2361,2364,2365,2368],{},[35,2354,971],{}," В unit-файле секция ",[75,2357,2277],{},[75,2359,2360],{},"Restart=always",[75,2362,2363],{},"on-failure","), а процесс немедленно завершается с ошибкой. Исправьте ошибку приложения или временно закомментируйте ",[75,2366,2367],{},"Restart"," для диагностики.",[1280,2370,2371],{},"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 .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}",{"title":73,"searchDepth":88,"depth":88,"links":2373},[2374,2375,2376,2377,2378,2379,2380,2381,2382],{"id":18,"depth":88,"text":19},{"id":26,"depth":88,"text":27},{"id":1662,"depth":88,"text":1663},{"id":1780,"depth":88,"text":1781},{"id":1876,"depth":88,"text":1877},{"id":1982,"depth":88,"text":1983},{"id":2108,"depth":88,"text":2109},{"id":934,"depth":88,"text":935},{"id":961,"depth":88,"text":962},"2026-02-16 12:40:35","Пошаговая инструкция по работе с systemd. Узнайте, как управлять службами Linux через systemctl: запуск, остановка, автозагрузка, просмотр логов. Решения для Ubuntu, CentOS, Debian.","medium","15-30 мин",[2388,2391,2394,2397],{"answer":2389,"question":2390},"Используйте команду `systemctl status \u003Cимя_службы>`. В выводе ищите строку `Active: active (running)` для работающих сервисов.","Как проверить, работает ли служба systemd?",{"answer":2392,"question":2393},"Systemd обеспечивает параллельный запуск служб, имеет единую точку управления (systemctl), встроенный журнал (journalctl) и более сложные зависимости между сервисами.","Чем systemd отличается от старых init-скриптов (SysVinit)?",{"answer":2395,"question":2396},"Создайте файл `/etc/systemd/system/ваш-сервис.service` с корректными секциями `[Unit]`, `[Service]` и `[Install]`, затем выполните `systemctl daemon-reload`.","Как создать свой собственный unit-файл для сервиса?",{"answer":2398,"question":2399},"Возможные причины: ошибка в unit-файле, конфликт зависимостей, отсутствие требуемого устройства или файла. Проверьте логи: `journalctl -u \u003Cимя_службы> -b`.","Почему служба не запускается при загрузке, хотя включена через systemctl enable?",[2401,2404,2407,2410,2413,2416],{"name":2402,"text":2403},"Проверка статуса службы","Используйте `systemctl status \u003Cservice>` для получения подробной информации о состоянии, PID и последних записях журнала.",{"name":2405,"text":2406},"Базовое управление (start, stop, restart)","Запустите службу командой `systemctl start \u003Cservice>`, остановите `stop`, перезапустите `restart`.",{"name":2408,"text":2409},"Управление автозагрузкой","Включите автозапуск при загрузке системы: `systemctl enable \u003Cservice>`. Отключите: `systemctl disable \u003Cservice>`.",{"name":2411,"text":2412},"Просмотр всех служб и фильтрация","`systemctl list-units --type=service --all` показывает все unit-файлы. Используйте `grep` для поиска, например: `systemctl list-units | grep nginx`.",{"name":2414,"text":2415},"Работа с журналом (journalctl)","Просмотрите логи конкретной службы: `journalctl -u \u003Cservice> -f` (слежение в реальном времени).",{"name":2417,"text":2418},"Перезагрузка демона systemd","После ручного изменения unit-файлов выполните `systemctl daemon-reload`, чтобы systemd перечитал конфигурацию.","PT20M",[2421,2422,2423,2424,2425,2426,2427,2428],"systemd управление сервисами","systemctl команды","как запустить службу в linux","systemd journal логи","включить автозагрузку службы","остановить systemd сервис","проверить статус службы","systemd service management",{},[2431,2432,2433],"/guides/linux/systemd-journal-logs","/errors/linux/systemd-failed-to-start","/guides/linux/crontab-vs-systemd-timers",{"title":1621,"description":2384},"guides/linux/systemd-service-management","В этом гайде вы освоите основные команды systemctl для управления службами в современных дистрибутивах Linux. Вы научитесь запускать, останавливать, включать в автозагрузку сервисы и диагностировать проблемы.",[1378,1367,1380,1382,1638],"9uE8OqlOsTa0iBKReZb5paRxhaZypg32oh1Z0Lq3y94",{"id":2440,"title":2441,"appliesTo":2442,"author":11,"body":2448,"canonical":1316,"code":2486,"createdAt":3763,"description":3764,"difficulty":2385,"draft":1320,"estimatedTime":2386,"extension":1322,"faq":3765,"howToSteps":3778,"howToTotalTime":3794,"image":1316,"keywords":3795,"locale":1364,"meta":3804,"navigation":102,"path":1371,"platform":1367,"related":3805,"section":3809,"seo":3810,"severity":3811,"stem":3812,"summary":3813,"tags":3814,"twitterCreator":1316,"twitterSite":1316,"type":2230,"updatedAt":3763,"__hash__":3818},"content_ru/errors/linux/ssh-connection-refused.md","SSH Connection Refused: причины и 5 способов исправить ошибку",[2443,2444,2445,2446,2447],"Ubuntu 20.04/22.04","Debian 11/12","CentOS 7/8/Rocky 8/9","RHEL 8/9","Any Linux with OpenSSH server",{"type":13,"value":2449,"toc":3740},[2450,2454,2472,2475,2504,2508,2511,2609,2613,2616,2701,2705,2710,2874,2878,2881,2889,2905,2965,2972,2987,3043,3053,3059,3089,3175,3181,3188,3304,3308,3312,3318,3348,3351,3381,3392,3396,3414,3428,3453,3457,3460,3475,3479,3534,3536,3540,3543,3712,3737],[16,2451,2453],{"id":2452},"что-означает-ошибка-ssh-connection-refused","Что означает ошибка \"SSH Connection refused\"",[21,2455,2242,2456,2459,2460,2463,2464,2467,2468,2471],{},[75,2457,2458],{},"ssh: connect to host \u003CIP> port 22: Connection refused"," — это сообщение от клиента SSH, которое означает, что сервер ",[35,2461,2462],{},"активно отклонил"," попытку TCP-соединения на порту 22 (или другом указанном порту). В отличие от ",[75,2465,2466],{},"Connection timed out"," (где пакеты просто теряются), ",[75,2469,2470],{},"refused"," — это прямой ответ от ядра операционной системы сервера: \"служба на этом порту не доступна\".",[21,2473,2474],{},"Симптомы:",[274,2476,2477,2488,2497],{},[32,2478,2479,2480,2483,2484,2487],{},"Команда ",[75,2481,2482],{},"ssh user@server_ip"," завершается с ошибкой ",[75,2485,2486],{},"Connection refused"," практически мгновенно.",[32,2489,2490,2491,2494,2495,268],{},"Утилита ",[75,2492,2493],{},"telnet server_ip 22"," также показывает ",[75,2496,2486],{},[32,2498,2499,2500,2503],{},"Пинг (",[75,2501,2502],{},"ping",") до сервера, как правило, проходит успешно, так как проблема на транспортном (TCP) уровне, а не сетевом (ICMP).",[16,2505,2507],{"id":2506},"причины-возникновения","Причины возникновения",[21,2509,2510],{},"Ошибка возникает на стороне сервера. Основные причины:",[29,2512,2513,2523,2536,2546,2558,2587,2596],{},[32,2514,2515,2522],{},[35,2516,2517,2518,2521],{},"Служба SSH (",[75,2519,2520],{},"sshd",") не запущена."," Это самая частая причина. Демон просто не слушает никакие порты.",[32,2524,2525,2531,2532,2535],{},[35,2526,2527,2528,320],{},"SSH-демон слушает только локальный интерфейс (",[75,2529,2530],{},"127.0.0.1"," В конфигурации может быть указан ",[75,2533,2534],{},"ListenAddress 127.0.0.1",", что разрешает подключения только с самого сервера.",[32,2537,2538,2541,2542,2545],{},[35,2539,2540],{},"Фаервол (брандмауэр) блокирует порт."," Правило фаервола может быть настроено на ",[75,2543,2544],{},"REJECT"," (активный отказ) для порта 22 с вашего IP или для всех.",[32,2547,2548,2551,2552,2554,2555,2557],{},[35,2549,2550],{},"Другой процесс уже использует порт 22."," Реже, но возможно, что другой сервис (например, старый ",[75,2553,2520],{}," или другой демон) занял порт 22, и новый ",[75,2556,2520],{}," не может его занять.",[32,2559,2560,2566,2567,306,2570,306,2573,306,2576,281,2579,2582,2583,2586],{},[35,2561,2562,2563,268],{},"Конфигурационные ограничения в ",[75,2564,2565],{},"sshd_config"," Директивы ",[75,2568,2569],{},"AllowUsers",[75,2571,2572],{},"DenyUsers",[75,2574,2575],{},"AllowGroups",[75,2577,2578],{},"DenyGroups",[75,2580,2581],{},"Match","-блоки могут запрещать подключение для вашего пользователя или IP-адреса, что может приводить к отказу ",[714,2584,2585],{},"после"," установки соединения, но иногда и на этапе handshake.",[32,2588,2589,2592,2593,2595],{},[35,2590,2591],{},"Проблемы с SELinux/AppArmor."," Системы mandatory access control могут запрещать ",[75,2594,2520],{}," слушать сетевой порт или принимать соединения.",[32,2597,2598,2601,2602,2605,2606,268],{},[35,2599,2600],{},"Сервер за NAT/ балансировщиком, а проброс портов не настроен."," Клиент пытается подключиться к публичному IP, но пакеты не доходят до внутреннего сервера, а маршрутизатор сам отвечает ",[75,2603,2604],{},"RST"," (reset) или ",[75,2607,2608],{},"ICMP port unreachable",[16,2610,2612],{"id":2611},"способ-1-проверка-и-запуск-службы-ssh","Способ 1: Проверка и запуск службы SSH",[21,2614,2615],{},"Первым делом убедитесь, что служба работает.",[29,2617,2618,2655,2675,2695],{},[32,2619,2620,2623,2639],{},[35,2621,2622],{},"Проверьте статус службы:",[68,2624,2626],{"className":70,"code":2625,"language":72,"meta":73,"style":73},"sudo systemctl status sshd\n",[75,2627,2628],{"__ignoreMap":73},[78,2629,2630,2632,2634,2636],{"class":80,"line":81},[78,2631,92],{"class":91},[78,2633,1685],{"class":95},[78,2635,1896],{"class":95},[78,2637,2638],{"class":95}," sshd\n",[274,2640,2641,2647],{},[32,2642,2643,2644,2646],{},"Если статус ",[75,2645,2205],{}," — служба работает, переходите к следующему способу.",[32,2648,2643,2649,281,2652,2654],{},[75,2650,2651],{},"inactive (dead)",[75,2653,2184],{}," — служба не запущена.",[32,2656,2657,2660],{},[35,2658,2659],{},"Запустите службу:",[68,2661,2663],{"className":70,"code":2662,"language":72,"meta":73,"style":73},"sudo systemctl start sshd\n",[75,2664,2665],{"__ignoreMap":73},[78,2666,2667,2669,2671,2673],{"class":80,"line":81},[78,2668,92],{"class":91},[78,2670,1685],{"class":95},[78,2672,1688],{"class":95},[78,2674,2638],{"class":95},[32,2676,2677,2680],{},[35,2678,2679],{},"Включите автозагрузку (чтобы служба запускалась после перезагрузки):",[68,2681,2683],{"className":70,"code":2682,"language":72,"meta":73,"style":73},"sudo systemctl enable sshd\n",[75,2684,2685],{"__ignoreMap":73},[78,2686,2687,2689,2691,2693],{"class":80,"line":81},[78,2688,92],{"class":91},[78,2690,1685],{"class":95},[78,2692,1808],{"class":95},[78,2694,2638],{"class":95},[32,2696,2697,2700],{},[35,2698,2699],{},"Попробуйте подключиться снова."," Если ошибка осталась, проверьте, на каком порту служит служба (Способ 2).",[16,2702,2704],{"id":2703},"способ-2-проверка-на-каком-порту-и-интерфейсе-служит-ssh","Способ 2: Проверка, на каком порту и интерфейсе служит SSH",[21,2706,2707,2708,268],{},"Узнайте, какие порты и сетевые интерфейсы слушает ",[75,2709,2520],{},[29,2711,2712,2797],{},[32,2713,2714,2722,2763,2766,2767,2774],{},[35,2715,1556,2716,281,2719,851],{},[75,2717,2718],{},"ss",[75,2720,2721],{},"netstat",[68,2723,2725],{"className":70,"code":2724,"language":72,"meta":73,"style":73},"sudo ss -tlnp | grep sshd\n# или\nsudo netstat -tlnp | grep sshd\n",[75,2726,2727,2743,2748],{"__ignoreMap":73},[78,2728,2729,2731,2734,2737,2739,2741],{"class":80,"line":81},[78,2730,92],{"class":91},[78,2732,2733],{"class":95}," ss",[78,2735,2736],{"class":120}," -tlnp",[78,2738,520],{"class":519},[78,2740,366],{"class":91},[78,2742,2638],{"class":95},[78,2744,2745],{"class":80,"line":88},[78,2746,2747],{"class":84},"# или\n",[78,2749,2750,2752,2755,2757,2759,2761],{"class":80,"line":99},[78,2751,92],{"class":91},[78,2753,2754],{"class":95}," netstat",[78,2756,2736],{"class":120},[78,2758,520],{"class":519},[78,2760,366],{"class":91},[78,2762,2638],{"class":95},[2764,2765],"br",{},"Пример вывода для корректной настройки:",[68,2768,2772],{"className":2769,"code":2771,"language":1394},[2770],"language-text","tcp   LISTEN  0  128  0.0.0.0:22  0.0.0.0:*  users:((\"sshd\",pid=1234,fd=3))\ntcp   LISTEN  0  128  [::]:22  [::]:*  users:((\"sshd\",pid=1234,fd=4))\n",[75,2773,2771],{"__ignoreMap":73},[274,2775,2776,2782,2788],{},[32,2777,2778,2781],{},[75,2779,2780],{},"0.0.0.0:22"," — слушает на всех IPv4-интерфейсах.",[32,2783,2784,2787],{},[75,2785,2786],{},"[::]:22"," — слушает на всех IPv6-интерфейсах.",[32,2789,2790,2793,2794],{},[75,2791,2792],{},"127.0.0.1:22"," — слушает только локальный интерфейс (loopback). ",[35,2795,2796],{},"В этом случае внешние подключения невозможны.",[32,2798,2799,2805,2810,2825,2846,2861],{},[35,2800,2801,2802,2804],{},"Если слушает только ",[75,2803,2530],{},", исправьте конфигурацию:",[274,2806,2807],{},[32,2808,2809],{},"Откройте файл конфигурации SSH-сервера:",[68,2811,2813],{"className":70,"code":2812,"language":72,"meta":73,"style":73},"sudo nano /etc/ssh/sshd_config\n",[75,2814,2815],{"__ignoreMap":73},[78,2816,2817,2819,2822],{"class":80,"line":81},[78,2818,92],{"class":91},[78,2820,2821],{"class":95}," nano",[78,2823,2824],{"class":95}," /etc/ssh/sshd_config\n",[274,2826,2827,2843],{},[32,2828,2829,2830,580,2833,2836,2837,2840,2841,268],{},"Найдите строку ",[75,2831,2832],{},"#ListenAddress 0.0.0.0",[75,2834,2835],{},"ListenAddress ::","). Раскомментируйте её (удалите ",[75,2838,2839],{},"#",") или добавьте, если её нет. Убедитесь, что нет строк ",[75,2842,2534],{},[32,2844,2845],{},"Сохраните файл и перезапустите службу:",[68,2847,2849],{"className":70,"code":2848,"language":72,"meta":73,"style":73},"sudo systemctl restart sshd\n",[75,2850,2851],{"__ignoreMap":73},[78,2852,2853,2855,2857,2859],{"class":80,"line":81},[78,2854,92],{"class":91},[78,2856,1685],{"class":95},[78,2858,1737],{"class":95},[78,2860,2638],{"class":95},[274,2862,2863],{},[32,2864,2865,2866,2868,2869,2871,2872,268],{},"Проверьте вывод ",[75,2867,2718],{}," снова — теперь должны быть ",[75,2870,2780],{}," и/или ",[75,2873,2786],{},[16,2875,2877],{"id":2876},"способ-3-проверка-и-настройка-фаервола","Способ 3: Проверка и настройка фаервола",[21,2879,2880],{},"Фаервол может блокировать входящие соединения на порт 22.",[63,2882,2884,2885,2888],{"id":2883},"для-ufw-ubuntudebian-по-умолчанию","Для ",[75,2886,2887],{},"ufw"," (Ubuntu/Debian по умолчанию)",[68,2890,2892],{"className":70,"code":2891,"language":72,"meta":73,"style":73},"sudo ufw status verbose\n",[75,2893,2894],{"__ignoreMap":73},[78,2895,2896,2898,2901,2903],{"class":80,"line":81},[78,2897,92],{"class":91},[78,2899,2900],{"class":95}," ufw",[78,2902,1896],{"class":95},[78,2904,2105],{"class":95},[274,2906,2907,2952,2959],{},[32,2908,2643,2909,2912,2913,580,2916,2919,2920],{},[75,2910,2911],{},"Status: active",", проверьте, есть ли правило для ",[75,2914,2915],{},"22/tcp",[75,2917,2918],{},"ssh","). Если нет, добавьте:\n",[68,2921,2923],{"className":70,"code":2922,"language":72,"meta":73,"style":73},"sudo ufw allow ssh\n# или явно по порту\nsudo ufw allow 22/tcp\n",[75,2924,2925,2936,2941],{"__ignoreMap":73},[78,2926,2927,2929,2931,2934],{"class":80,"line":81},[78,2928,92],{"class":91},[78,2930,2900],{"class":95},[78,2932,2933],{"class":95}," allow",[78,2935,1979],{"class":95},[78,2937,2938],{"class":80,"line":88},[78,2939,2940],{"class":84},"# или явно по порту\n",[78,2942,2943,2945,2947,2949],{"class":80,"line":99},[78,2944,92],{"class":91},[78,2946,2900],{"class":95},[78,2948,2933],{"class":95},[78,2950,2951],{"class":95}," 22/tcp\n",[32,2953,2954,2955,2958],{},"Если правило есть, но с ограничением по IP (",[75,2956,2957],{},"22/tcp ALLOW IN 192.168.1.100","), убедитесь, что ваш IP входит в список.",[32,2960,2961,2962,268],{},"Перезагрузите фаервол: ",[75,2963,2964],{},"sudo ufw reload",[63,2966,2884,2968,2971],{"id":2967},"для-firewalld-rhelcentosrockyfedora",[75,2969,2970],{},"firewalld"," (RHEL/CentOS/Rocky/Fedora)",[68,2973,2975],{"className":70,"code":2974,"language":72,"meta":73,"style":73},"sudo firewall-cmd --list-all\n",[75,2976,2977],{"__ignoreMap":73},[78,2978,2979,2981,2984],{"class":80,"line":81},[78,2980,92],{"class":91},[78,2982,2983],{"class":95}," firewall-cmd",[78,2985,2986],{"class":120}," --list-all\n",[274,2988,2989,3003,3038],{},[32,2990,2991,2992,281,2995,2998,2999,281,3001,268],{},"В разделе ",[75,2993,2994],{},"services:",[75,2996,2997],{},"ports:"," должно быть ",[75,3000,2918],{},[75,3002,2915],{},[32,3004,3005,3006],{},"Если нет, добавьте правило на постоянной основе:\n",[68,3007,3009],{"className":70,"code":3008,"language":72,"meta":73,"style":73},"sudo firewall-cmd --permanent --add-service=ssh\n# или\nsudo firewall-cmd --permanent --add-port=22/tcp\n",[75,3010,3011,3023,3027],{"__ignoreMap":73},[78,3012,3013,3015,3017,3020],{"class":80,"line":81},[78,3014,92],{"class":91},[78,3016,2983],{"class":95},[78,3018,3019],{"class":120}," --permanent",[78,3021,3022],{"class":120}," --add-service=ssh\n",[78,3024,3025],{"class":80,"line":88},[78,3026,2747],{"class":84},[78,3028,3029,3031,3033,3035],{"class":80,"line":99},[78,3030,92],{"class":91},[78,3032,2983],{"class":95},[78,3034,3019],{"class":120},[78,3036,3037],{"class":120}," --add-port=22/tcp\n",[32,3039,906,3040,268],{},[75,3041,3042],{},"sudo firewall-cmd --reload",[63,3044,2884,3046,591,3049,3052],{"id":3045},"для-iptablesnftables-базовый-стек",[75,3047,3048],{},"iptables",[75,3050,3051],{},"nftables"," (базовый стек)",[21,3054,3055,3056,851],{},"Просмотрите цепочку ",[75,3057,3058],{},"INPUT",[68,3060,3062],{"className":70,"code":3061,"language":72,"meta":73,"style":73},"sudo iptables -L INPUT -n -v | grep 22\n",[75,3063,3064],{"__ignoreMap":73},[78,3065,3066,3068,3071,3074,3077,3079,3082,3084,3086],{"class":80,"line":81},[78,3067,92],{"class":91},[78,3069,3070],{"class":95}," iptables",[78,3072,3073],{"class":120}," -L",[78,3075,3076],{"class":95}," INPUT",[78,3078,344],{"class":120},[78,3080,3081],{"class":120}," -v",[78,3083,520],{"class":519},[78,3085,366],{"class":91},[78,3087,3088],{"class":120}," 22\n",[274,3090,3091,3108,3147],{},[32,3092,3093,3094,281,3096,3099,3100,3103,3104,3107],{},"Ищите правило с ",[75,3095,2544],{},[75,3097,3098],{},"DROP"," для порта 22. Если такое правило есть ",[35,3101,3102],{},"выше"," правила ",[75,3105,3106],{},"ACCEPT",", оно блокирует трафик.",[32,3109,3110,3111],{},"Чтобы добавить правило разрешения в начало цепочки:\n",[68,3112,3114],{"className":70,"code":3113,"language":72,"meta":73,"style":73},"sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n",[75,3115,3116],{"__ignoreMap":73},[78,3117,3118,3120,3122,3125,3127,3130,3132,3135,3138,3141,3144],{"class":80,"line":81},[78,3119,92],{"class":91},[78,3121,3070],{"class":95},[78,3123,3124],{"class":120}," -I",[78,3126,3076],{"class":95},[78,3128,3129],{"class":120}," 1",[78,3131,166],{"class":120},[78,3133,3134],{"class":95}," tcp",[78,3136,3137],{"class":120}," --dport",[78,3139,3140],{"class":120}," 22",[78,3142,3143],{"class":120}," -j",[78,3145,3146],{"class":95}," ACCEPT\n",[32,3148,3149,3152,3153],{},[35,3150,3151],{},"Сохраните правила"," (иначе они сбросятся после перезагрузки):\n",[274,3154,3155,3163],{},[32,3156,2884,3157,3159,3160],{},[75,3158,3048],{},": ",[75,3161,3162],{},"sudo iptables-save | sudo tee /etc/iptables/rules.v4",[32,3164,2884,3165,3167,3168,3171,3172,268],{},[75,3166,3051],{},": убедитесь, что конфиг в ",[75,3169,3170],{},"/etc/nftables.conf"," корректен и выполните ",[75,3173,3174],{},"sudo nft -f /etc/nftables.conf",[16,3176,3178,3179,727],{"id":3177},"способ-4-проверка-конфигурации-ssh-сервера-sshd_config","Способ 4: Проверка конфигурации SSH-сервера (",[75,3180,2565],{},[21,3182,3183,3184,3187],{},"Неправильные настройки в ",[75,3185,3186],{},"/etc/ssh/sshd_config"," могут блокировать доступ.",[29,3189,3190,3207,3273],{},[32,3191,3192,3195],{},[35,3193,3194],{},"Откройте файл конфигурации:",[68,3196,3197],{"className":70,"code":2812,"language":72,"meta":73,"style":73},[75,3198,3199],{"__ignoreMap":73},[78,3200,3201,3203,3205],{"class":80,"line":81},[78,3202,92],{"class":91},[78,3204,2821],{"class":95},[78,3206,2824],{"class":95},[32,3208,3209,3212],{},[35,3210,3211],{},"Проверьте ключевые директивы:",[274,3213,3214,3222,3238,3251,3259,3266],{},[32,3215,3216,3219,3220,320],{},[75,3217,3218],{},"Port 22"," — убедитесь, что порт указан корректно (если используете нестандартный, проверьте фаервол и подключение по ",[75,3221,1060],{},[32,3223,3224,3227,3228,3231,3232,3235,3236,268],{},[75,3225,3226],{},"ListenAddress"," — если эта директива присутствует, она должна быть ",[75,3229,3230],{},"0.0.0.0"," (для IPv4) или ",[75,3233,3234],{},"::"," (для IPv6), а не ",[75,3237,2530],{},[32,3239,3240,3243,3244,281,3247,3250],{},[75,3241,3242],{},"PermitRootLogin"," — если вы пытаетесь подключиться под root, убедитесь, что значение ",[75,3245,3246],{},"yes",[75,3248,3249],{},"prohibit-password"," (если используете ключ).",[32,3252,3253,3256,3257,268],{},[75,3254,3255],{},"PasswordAuthentication"," — если используете пароль, проверьте, что ",[75,3258,3246],{},[32,3260,3261,601,3263,3265],{},[75,3262,2569],{},[75,3264,2575],{}," — если эти директивы есть, убедитесь, что ваш пользователь (или группа) перечислен в них.",[32,3267,3268,601,3270,3272],{},[75,3269,2572],{},[75,3271,2578],{}," — убедитесь, что ваш пользователь не указан здесь.",[32,3274,3275,3278,3292],{},[35,3276,3277],{},"После внесения изменений перезапустите службу:",[68,3279,3280],{"className":70,"code":2848,"language":72,"meta":73,"style":73},[75,3281,3282],{"__ignoreMap":73},[78,3283,3284,3286,3288,3290],{"class":80,"line":81},[78,3285,92],{"class":91},[78,3287,1685],{"class":95},[78,3289,1737],{"class":95},[78,3291,2638],{"class":95},[274,3293,3294],{},[32,3295,3296,3299,3300,3303],{},[35,3297,3298],{},"Важно:"," Не закрывайте текущую активную SSH-сессию (если она есть) до проверки новой конфигурации! Используйте ",[75,3301,3302],{},"sudo sshd -t"," для проверки синтаксиса файла перед перезапуском.",[16,3305,3307],{"id":3306},"способ-5-проверка-сетевых-правил-selinuxapparmor-и-балансировщиков","Способ 5: Проверка сетевых правил, SELinux/AppArmor и балансировщиков",[63,3309,3311],{"id":3310},"проверка-selinux-rhelcentosrocky","Проверка SELinux (RHEL/CentOS/Rocky)",[21,3313,3314,3315,3317],{},"SELinux может запрещать ",[75,3316,2520],{}," слушать порт.",[68,3319,3321],{"className":70,"code":3320,"language":72,"meta":73,"style":73},"sudo ausearch -m avc -ts recent | grep sshd\n",[75,3322,3323],{"__ignoreMap":73},[78,3324,3325,3327,3330,3333,3336,3339,3342,3344,3346],{"class":80,"line":81},[78,3326,92],{"class":91},[78,3328,3329],{"class":95}," ausearch",[78,3331,3332],{"class":120}," -m",[78,3334,3335],{"class":95}," avc",[78,3337,3338],{"class":120}," -ts",[78,3340,3341],{"class":95}," recent",[78,3343,520],{"class":519},[78,3345,366],{"class":91},[78,3347,2638],{"class":95},[21,3349,3350],{},"Если есть записи об отказе, попробуйте восстановить контекст по умолчанию для порта 22:",[68,3352,3354],{"className":70,"code":3353,"language":72,"meta":73,"style":73},"sudo semanage port -a -t ssh_port_t -p tcp 22\n",[75,3355,3356],{"__ignoreMap":73},[78,3357,3358,3360,3363,3366,3369,3372,3375,3377,3379],{"class":80,"line":81},[78,3359,92],{"class":91},[78,3361,3362],{"class":95}," semanage",[78,3364,3365],{"class":95}," port",[78,3367,3368],{"class":120}," -a",[78,3370,3371],{"class":120}," -t",[78,3373,3374],{"class":95}," ssh_port_t",[78,3376,166],{"class":120},[78,3378,3134],{"class":95},[78,3380,3088],{"class":120},[21,3382,3383,3384,3387,3388,3391],{},"(Установите ",[75,3385,3386],{},"policycoreutils-python-utils",", если ",[75,3389,3390],{},"semanage"," нет).",[63,3393,3395],{"id":3394},"проверка-apparmor-ubuntudebian","Проверка AppArmor (Ubuntu/Debian)",[68,3397,3399],{"className":70,"code":3398,"language":72,"meta":73,"style":73},"sudo aa-status | grep sshd\n",[75,3400,3401],{"__ignoreMap":73},[78,3402,3403,3405,3408,3410,3412],{"class":80,"line":81},[78,3404,92],{"class":91},[78,3406,3407],{"class":95}," aa-status",[78,3409,520],{"class":519},[78,3411,366],{"class":91},[78,3413,2638],{"class":95},[21,3415,3416,3417,3419,3420,3423,3424,3427],{},"Если профиль ",[75,3418,2520],{}," находится в режиме ",[75,3421,3422],{},"enforce",", попробуйте перевести его в ",[75,3425,3426],{},"complain"," (для диагностики) или убедитесь, что профиль корректен:",[68,3429,3431],{"className":70,"code":3430,"language":72,"meta":73,"style":73},"sudo aa-complain /etc/apparmor.d/usr.sbin.sshd\nsudo systemctl restart sshd\n",[75,3432,3433,3443],{"__ignoreMap":73},[78,3434,3435,3437,3440],{"class":80,"line":81},[78,3436,92],{"class":91},[78,3438,3439],{"class":95}," aa-complain",[78,3441,3442],{"class":95}," /etc/apparmor.d/usr.sbin.sshd\n",[78,3444,3445,3447,3449,3451],{"class":80,"line":88},[78,3446,92],{"class":91},[78,3448,1685],{"class":95},[78,3450,1737],{"class":95},[78,3452,2638],{"class":95},[63,3454,3456],{"id":3455},"проверка-балансировщикароутера","Проверка балансировщика/роутера",[21,3458,3459],{},"Если сервер находится за NAT (например, в облаке или дата-центре):",[29,3461,3462,3469,3472],{},[32,3463,3464,3465,3468],{},"Убедитесь, что на роутере/в облачной панели (AWS Security Group, GCP Firewall, Yandex Cloud Security Group и т.д.) ",[35,3466,3467],{},"открыт порт 22 (или ваш кастомный порт)"," для вашего IP-адреса или диапазона.",[32,3470,3471],{},"Проверьте, что правило имеет приоритет выше правил \"отклонить всё\".",[32,3473,3474],{},"Если используете балансировщик нагрузки (ELB, HAProxy), убедитесь, что он настроен на проброс TCP-трафика на порт 22 к вашему бэкенду.",[16,3476,3478],{"id":3477},"профилактика","Профилактика",[29,3480,3481,3490,3500,3509,3518],{},[32,3482,3483,3486,3487,268],{},[35,3484,3485],{},"Всегда включайте автозагрузку критичных служб:"," ",[75,3488,3489],{},"sudo systemctl enable sshd",[32,3491,3492,3495,3496,3499],{},[35,3493,3494],{},"Настраивайте фаервол сразу после развёртывания сервера"," и добавляйте правило для SSH ",[714,3497,3498],{},"до"," того, как включите его в продакшен.",[32,3501,3502,3505,3506,320],{},[35,3503,3504],{},"Используйте нестандартный порт для SSH"," (например, 2222). Это не панацея от атак, но уменьшает количество автоматических сканирований. Не забудьте обновить фаервол и клиентскую команду (",[75,3507,3508],{},"ssh -p 2222 user@host",[32,3510,3511,3514,3515,3517],{},[35,3512,3513],{},"Регулярно проверяйте конфигурацию"," на наличие устаревших или конфликтующих директив (",[75,3516,2565],{},", правила iptables/nftables).",[32,3519,3520,3486,3523,3526,3527,3529,3530,3533],{},[35,3521,3522],{},"Мониторьте логи SSH:",[75,3524,3525],{},"sudo journalctl -u sshd -f"," в реальном времени или ",[75,3528,1433],{}," (Ubuntu/Debian) / ",[75,3531,3532],{},"sudo cat /var/log/secure"," (RHEL) для отслеживания попыток подключения и ошибок.",[1102,3535],{},[16,3537,3539],{"id":3538},"дополнительная-диагностика","Дополнительная диагностика",[21,3541,3542],{},"Если ни один из способов не помог, соберите информацию для дальнейшего анализа:",[29,3544,3545,3587,3630,3657],{},[32,3546,3547,3552,3579,3581,3582,281,3585,268],{},[35,3548,3549,3550,851],{},"Логи ",[75,3551,2520],{},[68,3553,3555],{"className":70,"code":3554,"language":72,"meta":73,"style":73},"sudo journalctl -u sshd --since \"5 min ago\" | tail -50\n",[75,3556,3557],{"__ignoreMap":73},[78,3558,3559,3561,3563,3565,3567,3569,3572,3574,3576],{"class":80,"line":81},[78,3560,92],{"class":91},[78,3562,117],{"class":95},[78,3564,142],{"class":120},[78,3566,755],{"class":95},[78,3568,190],{"class":120},[78,3570,3571],{"class":95}," \"5 min ago\"",[78,3573,520],{"class":519},[78,3575,341],{"class":91},[78,3577,3578],{"class":120}," -50\n",[2764,3580],{},"Ищите строки с ",[75,3583,3584],{},"Connection closed",[75,3586,2470],{},[32,3588,3589,3592,3616,3618,3619,3622,3623,3626,3627,3629],{},[35,3590,3591],{},"Сетевой трафик (если есть доступ к серверу через консоль/KVM):",[68,3593,3595],{"className":70,"code":3594,"language":72,"meta":73,"style":73},"sudo tcpdump -i any port 22 -nn\n",[75,3596,3597],{"__ignoreMap":73},[78,3598,3599,3601,3604,3606,3609,3611,3613],{"class":80,"line":81},[78,3600,92],{"class":91},[78,3602,3603],{"class":95}," tcpdump",[78,3605,389],{"class":120},[78,3607,3608],{"class":95}," any",[78,3610,3365],{"class":95},[78,3612,3140],{"class":120},[78,3614,3615],{"class":120}," -nn\n",[2764,3617],{},"Попробуйте подключиться с клиента. Если вы видите пакеты ",[75,3620,3621],{},"SYN"," от клиента, но нет пакетов ",[75,3624,3625],{},"SYN-ACK"," от сервера — проблема на стороне сервера (служба/фаервол). Если пакеты ",[75,3628,3621],{}," не приходят — проблема на сети или балансировщике.",[32,3631,3632,3635,3652,3654,3655,268],{},[35,3633,3634],{},"Проверка на наличие конфликтующего процесса:",[68,3636,3638],{"className":70,"code":3637,"language":72,"meta":73,"style":73},"sudo lsof -i :22\n",[75,3639,3640],{"__ignoreMap":73},[78,3641,3642,3644,3647,3649],{"class":80,"line":81},[78,3643,92],{"class":91},[78,3645,3646],{"class":95}," lsof",[78,3648,389],{"class":120},[78,3650,3651],{"class":95}," :22\n",[2764,3653],{},"Убедитесь, что процесс — это ",[75,3656,2520],{},[32,3658,3659,3662],{},[35,3660,3661],{},"Проверка целостности пакетов:",[68,3663,3665],{"className":70,"code":3664,"language":72,"meta":73,"style":73},"sudo apt update && sudo apt install --reinstall openssh-server  # Debian/Ubuntu\nsudo yum reinstall openssh-server                            # RHEL/CentOS\n",[75,3666,3667,3697],{"__ignoreMap":73},[78,3668,3669,3671,3674,3677,3681,3683,3685,3688,3691,3694],{"class":80,"line":81},[78,3670,92],{"class":91},[78,3672,3673],{"class":95}," apt",[78,3675,3676],{"class":95}," update",[78,3678,3680],{"class":3679},"sVt8B"," && ",[78,3682,92],{"class":91},[78,3684,3673],{"class":95},[78,3686,3687],{"class":95}," install",[78,3689,3690],{"class":120}," --reinstall",[78,3692,3693],{"class":95}," openssh-server",[78,3695,3696],{"class":84},"  # Debian/Ubuntu\n",[78,3698,3699,3701,3704,3707,3709],{"class":80,"line":88},[78,3700,92],{"class":91},[78,3702,3703],{"class":95}," yum",[78,3705,3706],{"class":95}," reinstall",[78,3708,3693],{"class":95},[78,3710,3711],{"class":84},"                            # RHEL/CentOS\n",[21,3713,3714,3717,3718,3720,3721,995,3724,281,3727,591,3730,3732,3733,3736],{},[35,3715,3716],{},"Внимание:"," После каждого значимого изменения конфигурации (фаервол, ",[75,3719,2565],{},") ",[35,3722,3723],{},"перезапускайте соответствующую службу",[75,3725,3726],{},"sudo systemctl restart sshd",[75,3728,3729],{},"sudo systemctl restart firewalld",[75,3731,2887],{},") и ",[35,3734,3735],{},"тестируйте подключение с клиента",". Не закрывайте работающую консольную сессию до подтверждения работоспособности SSH.",[1280,3738,3739],{},"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 .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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":73,"searchDepth":88,"depth":88,"links":3741},[3742,3743,3744,3745,3746,3754,3756,3761,3762],{"id":2452,"depth":88,"text":2453},{"id":2506,"depth":88,"text":2507},{"id":2611,"depth":88,"text":2612},{"id":2703,"depth":88,"text":2704},{"id":2876,"depth":88,"text":2877,"children":3747},[3748,3750,3752],{"id":2883,"depth":99,"text":3749},"Для ufw (Ubuntu/Debian по умолчанию)",{"id":2967,"depth":99,"text":3751},"Для firewalld (RHEL/CentOS/Rocky/Fedora)",{"id":3045,"depth":99,"text":3753},"Для iptables/nftables (базовый стек)",{"id":3177,"depth":88,"text":3755},"Способ 4: Проверка конфигурации SSH-сервера (sshd_config)",{"id":3306,"depth":88,"text":3307,"children":3757},[3758,3759,3760],{"id":3310,"depth":99,"text":3311},{"id":3394,"depth":99,"text":3395},{"id":3455,"depth":99,"text":3456},{"id":3477,"depth":88,"text":3478},{"id":3538,"depth":88,"text":3539},"2026-02-15 16:48:43","Не можете подключиться к серверу по SSH? Ошибка 'Connection refused' обычно означает, что служба SSH не слушает порт или блокируется фаерволом. Пошаговая инструкция по диагностике и решению за 15-30 минут.",[3766,3769,3772,3775],{"question":3767,"answer":3768},"Чем ошибка 'Connection refused' отличается от 'Connection timed out'?","`Connection refused` означает, что сервер **активно отклонил** соединение на указанном порту (обычно 22). Это часто значит, что служба SSH не запущена или порт закрыт фаерволом. `Connection timed out` означает, что запрос **не получил ответа** (возможно, сервер выключен, маршрутизация неверна или фаервол молча dropping пакеты).",{"question":3770,"answer":3771},"Проверил, порт 22 открыт (netstat показывает LISTEN), но всё равно 'Connection refused'. Почему?","Возможные причины: 1) SSH-демон слушает только локальный интерфейс (`127.0.0.1`), а не внешний (`0.0.0.0`). 2) На уровне фаервола (iptables/nftables) есть правило REJECT для этого порта. 3) Конфигурация SSH (`/etc/ssh/sshd_config`) ограничивает подключение по конкретным IP или интерфейсам (`ListenAddress`).",{"question":3773,"answer":3774},"Можно ли использовать SSH, если порт 22 закрыт, но служба работает?","Да. Если служба `sshd` запущена и слушает другой порт (например, 2222), вы можете подключиться, указав его: `ssh -p 2222 user@host`. Но убедитесь, что этот порт также открыт в фаерволе и проброшен (если используется NAT).",{"question":3776,"answer":3777},"Почему после перезагрузки сервера SSH перестал работать с 'Connection refused'?","Чаще всего служба `sshd` не настроена на автозапуск. Проверьте: `systemctl is-enabled sshd` (должно быть `enabled`). Если `disabled`, включите автозагрузку: `sudo systemctl enable sshd`.",[3779,3782,3785,3788,3791],{"name":3780,"text":3781},"Проверьте статус службы SSH","Убедитесь, что демон SSH (`sshd`) запущен и активен. Используйте `systemctl` для проверки.",{"name":3783,"text":3784},"Проверьте, на каком порту и интерфейсе служит SSH","Узнайте, какие порты и адреса слушает служба, чтобы убедиться, что она готова к внешним подключениям.",{"name":3786,"text":3787},"Проверьте настройки фаервола (iptables/nftables/firewalld/ufw)","Убедитесь, что правило разрешает входящие подключения на порт SSH (по умолчанию 22) с вашего IP-адреса.",{"name":3789,"text":3790},"Проверьте конфигурацию SSH-сервера","Убедитесь, что в `/etc/ssh/sshd_config` нет ограничений (`ListenAddress`, `AllowUsers`), блокирующих ваше подключение.",{"name":3792,"text":3793},"Проверьте сетевые правила и балансировщики","Если сервер за NAT или балансировщиком нагрузки, убедитесь, что порт 22 проброшен (port forwarded) на внутренний IP сервера.","PT30M",[3796,3797,3798,3799,3800,3801,3802,3803],"ssh connection refused","ошибка ssh отказ в подключении","ssh port 22 refused","как исправить ssh connection refused","ssh не подключается отказ в соединении","ошибка подключения по ssh linux","ssh connection refused ubuntu","порт 22 закрыт ssh",{},[3806,3807,3808],"/errors/linux/ssh-permission-denied","/guides/linux/configure-ssh-server","/errors/linux/ssh-host-key-verification-failed","Ошибки Linux",{"title":2441,"description":3764},"high","errors/linux/ssh-connection-refused","Статья объясняет, что означает ошибка 'SSH Connection refused', перечисляет основные причины (незапущенная служба, закрытый порт, неверные настройки) и предоставляет 5 проверенных способов решения проблемы на Linux-сервере.",[2918,1367,3815,3816,1378,3817],"сеть","firewall","debug","47JNE9twsh11tFyVppHPQWE39gMIy0gHshzMnXbg5aI"]