[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/log-analysis":3,"mdc--czwcwf-key":1380,"mdc--adkgwf-key":1405,"mdc--nt5w67-key":1449,"mdc--sr9xyd-key":1499,"mdc--snpsz4-key":1530,"mdc--qoqkhz-key":1538,"mdc-sfu80w-key":1570,"mdc--v311ba-key":1602,"mdc-pyf5az-key":1639,"related-/guides/linux/systemd-service-management,/guides/linux/ssh-troubleshooting,/errors/linux/ssh-connection-refused":1671},{"id":4,"title":5,"appliesTo":6,"author":12,"body":13,"canonical":1316,"code":1316,"createdAt":1317,"description":1318,"difficulty":1319,"draft":1320,"estimatedTime":1321,"extension":1322,"faq":1323,"howToSteps":1336,"howToTotalTime":1352,"image":1316,"keywords":1353,"locale":1362,"meta":1363,"navigation":159,"path":1364,"platform":1365,"related":1366,"section":1370,"seo":1371,"severity":1316,"stem":1372,"summary":1373,"tags":1374,"twitterCreator":1316,"twitterSite":1316,"type":1378,"updatedAt":1317,"__hash__":1379},"content_ru/guides/linux/log-analysis.md","Анализ логов в Linux: от базовых команд до продвинутых инструментов",[7,8,9,10,11],"Ubuntu 20.04+","Debian 11+","CentOS 8+","Fedora 35+","Любой systemd-дистрибутив","FixPedia Team",{"type":14,"value":15,"toc":1303},"minimark",[16,21,25,59,62,66,69,110,114,124,129,292,312,316,319,384,388,396,511,514,518,523,528,571,576,667,671,676,712,717,757,762,781,786,841,846,874,878,890,1030,1034,1037,1139,1143,1146,1188,1192,1214,1244,1269,1299],[17,18,20],"h2",{"id":19},"введение-зачем-это-нужно","Введение / Зачем это нужно",[22,23,24],"p",{},"Логи (log-файлы) — это главный источник информации о том, что происходит внутри Linux-системы. Они содержат записи о работе ядра, системных служб, установленных приложений и событиях безопасности. Умение быстро находить и анализировать логи позволяет:",[26,27,28,36,47,53],"ul",{},[29,30,31,35],"li",{},[32,33,34],"strong",{},"Диагностировать сбои:"," Узнать, почему служба не запустилась, почему приложение упало.",[29,37,38,41,42,46],{},[32,39,40],{},"Отслеживать безопасность:"," Обнаружить подозрительные попытки входа (в ",[43,44,45],"code",{},"auth.log",").",[29,48,49,52],{},[32,50,51],{},"Мониторить производительность:"," Выявлять ошибки диска, проблемы с сетью.",[29,54,55,58],{},[32,56,57],{},"Аудит действий:"," Видеть, что делал пользователь или система в определённый момент.",[22,60,61],{},"Этот гайд проведёт вас от простого просмотра логов до эффективного поиска по сложным критериям.",[17,63,65],{"id":64},"требования-подготовка","Требования / Подготовка",[22,67,68],{},"Перед началом убедитесь, что:",[70,71,72,75,86,97],"ol",{},[29,73,74],{},"У вас есть доступ к терминалу Linux (локально или по SSH).",[29,76,77,78,81,82,85],{},"Вы обладаете правами ",[32,79,80],{},"sudo"," (для просмотра всех логов systemd и файлов в ",[43,83,84],{},"/var/log/","). Без sudo вы увидите только свои логи.",[29,87,88,89,92,93,96],{},"В системе используется ",[32,90,91],{},"systemd"," (подавляющее большинство современных дистрибутивов: Ubuntu, Debian, Fedora, CentOS/RHEL 8+). Проверить можно командой ",[43,94,95],{},"pidof systemd",".",[29,98,99,100,103,104,103,107,96],{},"Базовое знакомство с командной строкой и командами ",[43,101,102],{},"cat",", ",[43,105,106],{},"less",[43,108,109],{},"grep",[17,111,113],{"id":112},"шаг-1-просмотр-системного-журнала-с-journalctl","Шаг 1: Просмотр системного журнала с journalctl",[22,115,116,119,120,123],{},[43,117,118],{},"journalctl"," — это основной инструмент для работы с ",[32,121,122],{},"Centralized Logging"," systemd. Он читает бинарный журнал, который агрегирует логи со всех служб и ядра.",[22,125,126],{},[32,127,128],{},"Базовые команды:",[130,131,136],"pre",{"className":132,"code":133,"language":134,"meta":135,"style":135},"language-bash shiki shiki-themes github-light github-dark","# Просмотр всего журнала (сначала старые записи)\njournalctl\n\n# Просмотр с постраничным выводом (рекомендуется)\njournalctl | less\n\n# Слежение за логами в реальном времени (как tail -f)\njournalctl -f\n\n# Просмотр логов конкретной службы (unit)\njournalctl -u ssh.service\n\n# Просмотр логов за последние 2 часа\njournalctl --since 2h\n\n# Просмотр логов за сегодня\njournalctl --since today\n\n# Просмотр логов с определённого времени\njournalctl --since \"2026-02-15 09:00:00\" --until \"2026-02-15 10:00:00\"\n","bash","",[43,137,138,147,154,161,167,179,184,190,199,204,210,222,227,233,244,249,255,265,270,276],{"__ignoreMap":135},[139,140,143],"span",{"class":141,"line":142},"line",1,[139,144,146],{"class":145},"sJ8bj","# Просмотр всего журнала (сначала старые записи)\n",[139,148,150],{"class":141,"line":149},2,[139,151,153],{"class":152},"sScJk","journalctl\n",[139,155,157],{"class":141,"line":156},3,[139,158,160],{"emptyLinePlaceholder":159},true,"\n",[139,162,164],{"class":141,"line":163},4,[139,165,166],{"class":145},"# Просмотр с постраничным выводом (рекомендуется)\n",[139,168,170,172,176],{"class":141,"line":169},5,[139,171,118],{"class":152},[139,173,175],{"class":174},"szBVR"," |",[139,177,178],{"class":152}," less\n",[139,180,182],{"class":141,"line":181},6,[139,183,160],{"emptyLinePlaceholder":159},[139,185,187],{"class":141,"line":186},7,[139,188,189],{"class":145},"# Слежение за логами в реальном времени (как tail -f)\n",[139,191,193,195],{"class":141,"line":192},8,[139,194,118],{"class":152},[139,196,198],{"class":197},"sj4cs"," -f\n",[139,200,202],{"class":141,"line":201},9,[139,203,160],{"emptyLinePlaceholder":159},[139,205,207],{"class":141,"line":206},10,[139,208,209],{"class":145},"# Просмотр логов конкретной службы (unit)\n",[139,211,213,215,218],{"class":141,"line":212},11,[139,214,118],{"class":152},[139,216,217],{"class":197}," -u",[139,219,221],{"class":220},"sZZnC"," ssh.service\n",[139,223,225],{"class":141,"line":224},12,[139,226,160],{"emptyLinePlaceholder":159},[139,228,230],{"class":141,"line":229},13,[139,231,232],{"class":145},"# Просмотр логов за последние 2 часа\n",[139,234,236,238,241],{"class":141,"line":235},14,[139,237,118],{"class":152},[139,239,240],{"class":197}," --since",[139,242,243],{"class":220}," 2h\n",[139,245,247],{"class":141,"line":246},15,[139,248,160],{"emptyLinePlaceholder":159},[139,250,252],{"class":141,"line":251},16,[139,253,254],{"class":145},"# Просмотр логов за сегодня\n",[139,256,258,260,262],{"class":141,"line":257},17,[139,259,118],{"class":152},[139,261,240],{"class":197},[139,263,264],{"class":220}," today\n",[139,266,268],{"class":141,"line":267},18,[139,269,160],{"emptyLinePlaceholder":159},[139,271,273],{"class":141,"line":272},19,[139,274,275],{"class":145},"# Просмотр логов с определённого времени\n",[139,277,279,281,283,286,289],{"class":141,"line":278},20,[139,280,118],{"class":152},[139,282,240],{"class":197},[139,284,285],{"class":220}," \"2026-02-15 09:00:00\"",[139,287,288],{"class":197}," --until",[139,290,291],{"class":220}," \"2026-02-15 10:00:00\"\n",[22,293,294,295,298,299,302,303,103,306,103,309,96],{},"Ключи ",[43,296,297],{},"--since"," и ",[43,300,301],{},"--until"," принимают множество форматов: ",[43,304,305],{},"YYYY-MM-DD HH:MM:SS",[43,307,308],{},"yesterday",[43,310,311],{},"1 hour ago",[17,313,315],{"id":314},"шаг-2-фильтрация-по-уровню-важности-приоритету","Шаг 2: Фильтрация по уровню важности (приоритету)",[22,317,318],{},"Логи имеют уровни (facility) и приоритеты (priority). Чаще всего нужно искать ошибки.",[130,320,322],{"className":132,"code":321,"language":134,"meta":135,"style":135},"# Показать только сообщения с уровнем ошибка (err) и выше (crit, alert, emerg)\njournalctl -p err\n\n# Тот же результат, но с явным указанием диапазона\njournalctl -p err..crit\n\n# Показать только предупреждения (warning)\njournalctl -p warning\n\n# Полный список уровней: emerg, alert, crit, err, warning, notice, info, debug.\n",[43,323,324,329,339,343,348,357,361,366,375,379],{"__ignoreMap":135},[139,325,326],{"class":141,"line":142},[139,327,328],{"class":145},"# Показать только сообщения с уровнем ошибка (err) и выше (crit, alert, emerg)\n",[139,330,331,333,336],{"class":141,"line":149},[139,332,118],{"class":152},[139,334,335],{"class":197}," -p",[139,337,338],{"class":220}," err\n",[139,340,341],{"class":141,"line":156},[139,342,160],{"emptyLinePlaceholder":159},[139,344,345],{"class":141,"line":163},[139,346,347],{"class":145},"# Тот же результат, но с явным указанием диапазона\n",[139,349,350,352,354],{"class":141,"line":169},[139,351,118],{"class":152},[139,353,335],{"class":197},[139,355,356],{"class":220}," err..crit\n",[139,358,359],{"class":141,"line":181},[139,360,160],{"emptyLinePlaceholder":159},[139,362,363],{"class":141,"line":186},[139,364,365],{"class":145},"# Показать только предупреждения (warning)\n",[139,367,368,370,372],{"class":141,"line":192},[139,369,118],{"class":152},[139,371,335],{"class":197},[139,373,374],{"class":220}," warning\n",[139,376,377],{"class":141,"line":201},[139,378,160],{"emptyLinePlaceholder":159},[139,380,381],{"class":141,"line":206},[139,382,383],{"class":145},"# Полный список уровней: emerg, alert, crit, err, warning, notice, info, debug.\n",[17,385,387],{"id":386},"шаг-3-поиск-по-ключевым-словам-и-контексту","Шаг 3: Поиск по ключевым словам и контексту",[22,389,390,391,393,394,96],{},"Команда ",[43,392,118],{}," поддерживает встроенные фильтры, но часто удобнее использовать ",[43,395,109],{},[130,397,399],{"className":132,"code":398,"language":134,"meta":135,"style":135},"# Поиск упоминаний \"failed\" (регистрозависимый)\njournalctl | grep failed\n\n# Поиск без учёта регистра\njournalctl | grep -i timeout\n\n# Поиск строк, содержащих \"error\" или \"Exception\"\njournalctl | grep -E \"error|Exception\"\n\n# Показать 5 строк до и после совпадения (контекст)\njournalctl | grep -C 5 \"segmentation fault\"\n\n# Поиск в конкретном файле лога (не в journald)\ngrep -i \"authentication failure\" /var/log/auth.log\n",[43,400,401,406,418,422,427,441,445,450,464,468,473,490,494,499],{"__ignoreMap":135},[139,402,403],{"class":141,"line":142},[139,404,405],{"class":145},"# Поиск упоминаний \"failed\" (регистрозависимый)\n",[139,407,408,410,412,415],{"class":141,"line":149},[139,409,118],{"class":152},[139,411,175],{"class":174},[139,413,414],{"class":152}," grep",[139,416,417],{"class":220}," failed\n",[139,419,420],{"class":141,"line":156},[139,421,160],{"emptyLinePlaceholder":159},[139,423,424],{"class":141,"line":163},[139,425,426],{"class":145},"# Поиск без учёта регистра\n",[139,428,429,431,433,435,438],{"class":141,"line":169},[139,430,118],{"class":152},[139,432,175],{"class":174},[139,434,414],{"class":152},[139,436,437],{"class":197}," -i",[139,439,440],{"class":220}," timeout\n",[139,442,443],{"class":141,"line":181},[139,444,160],{"emptyLinePlaceholder":159},[139,446,447],{"class":141,"line":186},[139,448,449],{"class":145},"# Поиск строк, содержащих \"error\" или \"Exception\"\n",[139,451,452,454,456,458,461],{"class":141,"line":192},[139,453,118],{"class":152},[139,455,175],{"class":174},[139,457,414],{"class":152},[139,459,460],{"class":197}," -E",[139,462,463],{"class":220}," \"error|Exception\"\n",[139,465,466],{"class":141,"line":201},[139,467,160],{"emptyLinePlaceholder":159},[139,469,470],{"class":141,"line":206},[139,471,472],{"class":145},"# Показать 5 строк до и после совпадения (контекст)\n",[139,474,475,477,479,481,484,487],{"class":141,"line":212},[139,476,118],{"class":152},[139,478,175],{"class":174},[139,480,414],{"class":152},[139,482,483],{"class":197}," -C",[139,485,486],{"class":197}," 5",[139,488,489],{"class":220}," \"segmentation fault\"\n",[139,491,492],{"class":141,"line":224},[139,493,160],{"emptyLinePlaceholder":159},[139,495,496],{"class":141,"line":229},[139,497,498],{"class":145},"# Поиск в конкретном файле лога (не в journald)\n",[139,500,501,503,505,508],{"class":141,"line":235},[139,502,109],{"class":152},[139,504,437],{"class":197},[139,506,507],{"class":220}," \"authentication failure\"",[139,509,510],{"class":220}," /var/log/auth.log\n",[512,513],"in-article-ad",{},[17,515,517],{"id":516},"шаг-4-работа-с-классическими-лог-файлами-в-varlog","Шаг 4: Работа с классическими лог-файлами в /var/log/",[22,519,520,521,96],{},"Не всё попадает в systemd journal. Многие приложения пишут в собственные текстовые файлы в ",[43,522,84],{},[22,524,525],{},[32,526,527],{},"Основные файлы:",[26,529,530,540,549,555,565],{},[29,531,532,535,536,539],{},[43,533,534],{},"/var/log/syslog"," или ",[43,537,538],{},"/var/log/messages"," — общие системные сообщения.",[29,541,542,535,545,548],{},[43,543,544],{},"/var/log/auth.log",[43,546,547],{},"/var/log/secure"," — аутентификация, sudo, ssh.",[29,550,551,554],{},[43,552,553],{},"/var/log/kern.log"," — логи ядра.",[29,556,557,560,561,564],{},[43,558,559],{},"/var/log/dmesg"," — вывод ",[43,562,563],{},"dmesg"," на момент загрузки.",[29,566,567,570],{},[43,568,569],{},"/var/log/apt/history.log"," — история установки пакетов (Debian/Ubuntu).",[22,572,573],{},[32,574,575],{},"Команды для работы:",[130,577,579],{"className":132,"code":578,"language":134,"meta":135,"style":135},"# Просмотр последних 50 строк syslog\ntail -n 50 /var/log/syslog\n\n# Постоянный мониторинг файла\ntail -f /var/log/auth.log\n\n\n# Поиск в старом архивированном файле (например, syslog.1)\nzcat /var/log/syslog.1.gz | grep \"service started\"\n\n# Поиск по нескольким файлам\ngrep \"connection refused\" /var/log/nginx/error.log /var/log/syslog\n",[43,580,581,586,600,604,609,618,622,626,631,646,650,655],{"__ignoreMap":135},[139,582,583],{"class":141,"line":142},[139,584,585],{"class":145},"# Просмотр последних 50 строк syslog\n",[139,587,588,591,594,597],{"class":141,"line":149},[139,589,590],{"class":152},"tail",[139,592,593],{"class":197}," -n",[139,595,596],{"class":197}," 50",[139,598,599],{"class":220}," /var/log/syslog\n",[139,601,602],{"class":141,"line":156},[139,603,160],{"emptyLinePlaceholder":159},[139,605,606],{"class":141,"line":163},[139,607,608],{"class":145},"# Постоянный мониторинг файла\n",[139,610,611,613,616],{"class":141,"line":169},[139,612,590],{"class":152},[139,614,615],{"class":197}," -f",[139,617,510],{"class":220},[139,619,620],{"class":141,"line":181},[139,621,160],{"emptyLinePlaceholder":159},[139,623,624],{"class":141,"line":186},[139,625,160],{"emptyLinePlaceholder":159},[139,627,628],{"class":141,"line":192},[139,629,630],{"class":145},"# Поиск в старом архивированном файле (например, syslog.1)\n",[139,632,633,636,639,641,643],{"class":141,"line":201},[139,634,635],{"class":152},"zcat",[139,637,638],{"class":220}," /var/log/syslog.1.gz",[139,640,175],{"class":174},[139,642,414],{"class":152},[139,644,645],{"class":220}," \"service started\"\n",[139,647,648],{"class":141,"line":206},[139,649,160],{"emptyLinePlaceholder":159},[139,651,652],{"class":141,"line":212},[139,653,654],{"class":145},"# Поиск по нескольким файлам\n",[139,656,657,659,662,665],{"class":141,"line":224},[139,658,109],{"class":152},[139,660,661],{"class":220}," \"connection refused\"",[139,663,664],{"class":220}," /var/log/nginx/error.log",[139,666,599],{"class":220},[17,668,670],{"id":669},"шаг-5-анализ-логов-конкретных-служб-и-приложений","Шаг 5: Анализ логов конкретных служб и приложений",[22,672,673],{},[32,674,675],{},"SSH-подключения:",[130,677,679],{"className":132,"code":678,"language":134,"meta":135,"style":135},"journalctl -u ssh.service\n# или\ngrep \"sshd\" /var/log/auth.log | tail -50\n",[43,680,681,689,694],{"__ignoreMap":135},[139,682,683,685,687],{"class":141,"line":142},[139,684,118],{"class":152},[139,686,217],{"class":197},[139,688,221],{"class":220},[139,690,691],{"class":141,"line":149},[139,692,693],{"class":145},"# или\n",[139,695,696,698,701,704,706,709],{"class":141,"line":156},[139,697,109],{"class":152},[139,699,700],{"class":220}," \"sshd\"",[139,702,703],{"class":220}," /var/log/auth.log",[139,705,175],{"class":174},[139,707,708],{"class":152}," tail",[139,710,711],{"class":197}," -50\n",[22,713,714],{},[32,715,716],{},"Nginx/Apache:",[130,718,720],{"className":132,"code":719,"language":134,"meta":135,"style":135},"# Обычно логи в /var/log/nginx/ или /var/log/apache2/\ntail -f /var/log/nginx/error.log\ngrep \"404\" /var/log/nginx/access.log | wc -l  # количество 404 ошибок\n",[43,721,722,727,736],{"__ignoreMap":135},[139,723,724],{"class":141,"line":142},[139,725,726],{"class":145},"# Обычно логи в /var/log/nginx/ или /var/log/apache2/\n",[139,728,729,731,733],{"class":141,"line":149},[139,730,590],{"class":152},[139,732,615],{"class":197},[139,734,735],{"class":220}," /var/log/nginx/error.log\n",[139,737,738,740,743,746,748,751,754],{"class":141,"line":156},[139,739,109],{"class":152},[139,741,742],{"class":220}," \"404\"",[139,744,745],{"class":220}," /var/log/nginx/access.log",[139,747,175],{"class":174},[139,749,750],{"class":152}," wc",[139,752,753],{"class":197}," -l",[139,755,756],{"class":145},"  # количество 404 ошибок\n",[22,758,759],{},[32,760,761],{},"Cron (планировщик):",[130,763,765],{"className":132,"code":764,"language":134,"meta":135,"style":135},"# Логи cron обычно в syslog или в отдельном файле\ngrep CRON /var/log/syslog\n",[43,766,767,772],{"__ignoreMap":135},[139,768,769],{"class":141,"line":142},[139,770,771],{"class":145},"# Логи cron обычно в syslog или в отдельном файле\n",[139,773,774,776,779],{"class":141,"line":149},[139,775,109],{"class":152},[139,777,778],{"class":220}," CRON",[139,780,599],{"class":220},[22,782,783],{},[32,784,785],{},"Упавшие службы (systemd):",[130,787,789],{"className":132,"code":788,"language":134,"meta":135,"style":135},"# Посмотреть статус и последние логи службы\nsystemctl status \u003Cservice_name>\njournalctl -u \u003Cservice_name> --since \"5 min ago\" -p err\n",[43,790,791,796,817],{"__ignoreMap":135},[139,792,793],{"class":141,"line":142},[139,794,795],{"class":145},"# Посмотреть статус и последние логи службы\n",[139,797,798,801,804,807,810,814],{"class":141,"line":149},[139,799,800],{"class":152},"systemctl",[139,802,803],{"class":220}," status",[139,805,806],{"class":174}," \u003C",[139,808,809],{"class":220},"service_nam",[139,811,813],{"class":812},"sVt8B","e",[139,815,816],{"class":174},">\n",[139,818,819,821,823,825,827,829,832,834,837,839],{"class":141,"line":156},[139,820,118],{"class":152},[139,822,217],{"class":197},[139,824,806],{"class":174},[139,826,809],{"class":220},[139,828,813],{"class":812},[139,830,831],{"class":174},">",[139,833,240],{"class":197},[139,835,836],{"class":220}," \"5 min ago\"",[139,838,335],{"class":197},[139,840,338],{"class":220},[22,842,843],{},[32,844,845],{},"Критические ошибки ядра (dmesg):",[130,847,849],{"className":132,"code":848,"language":134,"meta":135,"style":135},"dmesg | tail -50\ndmesg | grep -i \"memory\\|error\\|fail\"\n",[43,850,851,861],{"__ignoreMap":135},[139,852,853,855,857,859],{"class":141,"line":142},[139,854,563],{"class":152},[139,856,175],{"class":174},[139,858,708],{"class":152},[139,860,711],{"class":197},[139,862,863,865,867,869,871],{"class":141,"line":149},[139,864,563],{"class":152},[139,866,175],{"class":174},[139,868,414],{"class":152},[139,870,437],{"class":197},[139,872,873],{"class":220}," \"memory\\|error\\|fail\"\n",[17,875,877],{"id":876},"шаг-6-продвинутый-анализ-статистика-и-агрегация","Шаг 6: Продвинутый анализ: статистика и агрегация",[22,879,880,881,885,886,889],{},"Часто нужно понять не просто ",[882,883,884],"em",{},"что"," произошло, а ",[882,887,888],{},"какие"," события самые частые.",[130,891,893],{"className":132,"code":892,"language":134,"meta":135,"style":135},"# Топ-10 источников логов (по PID/имени) в journalctl за последний час\njournalctl --since 1h --no-pager | awk '{print $5}' | sort | uniq -c | sort -nr | head -10\n\n# Количество ошибок по типам (пример для syslog)\ngrep -o -E \"error|fail|exception\" /var/log/syslog | sort | uniq -c | sort -nr\n\n# Поиск всех попыток brute-force в ssh (много неудачных логинов)\ngrep \"Failed password\" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr\n",[43,894,895,900,948,952,957,989,993,998],{"__ignoreMap":135},[139,896,897],{"class":141,"line":142},[139,898,899],{"class":145},"# Топ-10 источников логов (по PID/имени) в journalctl за последний час\n",[139,901,902,904,906,909,912,914,917,920,922,925,927,930,933,935,937,940,942,945],{"class":141,"line":149},[139,903,118],{"class":152},[139,905,240],{"class":197},[139,907,908],{"class":220}," 1h",[139,910,911],{"class":197}," --no-pager",[139,913,175],{"class":174},[139,915,916],{"class":152}," awk",[139,918,919],{"class":220}," '{print $5}'",[139,921,175],{"class":174},[139,923,924],{"class":152}," sort",[139,926,175],{"class":174},[139,928,929],{"class":152}," uniq",[139,931,932],{"class":197}," -c",[139,934,175],{"class":174},[139,936,924],{"class":152},[139,938,939],{"class":197}," -nr",[139,941,175],{"class":174},[139,943,944],{"class":152}," head",[139,946,947],{"class":197}," -10\n",[139,949,950],{"class":141,"line":156},[139,951,160],{"emptyLinePlaceholder":159},[139,953,954],{"class":141,"line":163},[139,955,956],{"class":145},"# Количество ошибок по типам (пример для syslog)\n",[139,958,959,961,964,966,969,972,974,976,978,980,982,984,986],{"class":141,"line":169},[139,960,109],{"class":152},[139,962,963],{"class":197}," -o",[139,965,460],{"class":197},[139,967,968],{"class":220}," \"error|fail|exception\"",[139,970,971],{"class":220}," /var/log/syslog",[139,973,175],{"class":174},[139,975,924],{"class":152},[139,977,175],{"class":174},[139,979,929],{"class":152},[139,981,932],{"class":197},[139,983,175],{"class":174},[139,985,924],{"class":152},[139,987,988],{"class":197}," -nr\n",[139,990,991],{"class":141,"line":181},[139,992,160],{"emptyLinePlaceholder":159},[139,994,995],{"class":141,"line":186},[139,996,997],{"class":145},"# Поиск всех попыток brute-force в ssh (много неудачных логинов)\n",[139,999,1000,1002,1005,1007,1009,1011,1014,1016,1018,1020,1022,1024,1026,1028],{"class":141,"line":192},[139,1001,109],{"class":152},[139,1003,1004],{"class":220}," \"Failed password\"",[139,1006,703],{"class":220},[139,1008,175],{"class":174},[139,1010,916],{"class":152},[139,1012,1013],{"class":220}," '{print $11}'",[139,1015,175],{"class":174},[139,1017,924],{"class":152},[139,1019,175],{"class":174},[139,1021,929],{"class":152},[139,1023,932],{"class":197},[139,1025,175],{"class":174},[139,1027,924],{"class":152},[139,1029,988],{"class":197},[17,1031,1033],{"id":1032},"шаг-7-сохранение-и-экспорт-логов-для-глубокого-анализа","Шаг 7: Сохранение и экспорт логов для глубокого анализа",[22,1035,1036],{},"Если нужно отправить логи разработчику или проанализировать в другом инструменте:",[130,1038,1040],{"className":132,"code":1039,"language":134,"meta":135,"style":135},"# Экспорт журнала systemd за последние сутки в текстовый файл\njournalctl --since yesterday > /tmp/journal_$(date +%F).txt\n\n# Экспорт с ограничением по размеру (например, 50 МБ)\njournalctl --since \"1 day ago\" --output=short-monotonic > /tmp/last_day.log\n\n# Создание сжатого архива логов из /var/log/ (требует sudo)\nsudo tar -czf /tmp/logs_archive_$(date +%F).tar.gz /var/log/\n",[43,1041,1042,1047,1077,1081,1086,1103,1107,1112],{"__ignoreMap":135},[139,1043,1044],{"class":141,"line":142},[139,1045,1046],{"class":145},"# Экспорт журнала systemd за последние сутки в текстовый файл\n",[139,1048,1049,1051,1053,1056,1059,1062,1065,1068,1071,1074],{"class":141,"line":149},[139,1050,118],{"class":152},[139,1052,240],{"class":197},[139,1054,1055],{"class":220}," yesterday",[139,1057,1058],{"class":174}," >",[139,1060,1061],{"class":220}," /tmp/journal_",[139,1063,1064],{"class":812},"$(",[139,1066,1067],{"class":152},"date",[139,1069,1070],{"class":220}," +%F",[139,1072,1073],{"class":812},")",[139,1075,1076],{"class":220},".txt\n",[139,1078,1079],{"class":141,"line":156},[139,1080,160],{"emptyLinePlaceholder":159},[139,1082,1083],{"class":141,"line":163},[139,1084,1085],{"class":145},"# Экспорт с ограничением по размеру (например, 50 МБ)\n",[139,1087,1088,1090,1092,1095,1098,1100],{"class":141,"line":169},[139,1089,118],{"class":152},[139,1091,240],{"class":197},[139,1093,1094],{"class":220}," \"1 day ago\"",[139,1096,1097],{"class":197}," --output=short-monotonic",[139,1099,1058],{"class":174},[139,1101,1102],{"class":220}," /tmp/last_day.log\n",[139,1104,1105],{"class":141,"line":181},[139,1106,160],{"emptyLinePlaceholder":159},[139,1108,1109],{"class":141,"line":186},[139,1110,1111],{"class":145},"# Создание сжатого архива логов из /var/log/ (требует sudo)\n",[139,1113,1114,1116,1119,1122,1125,1127,1129,1131,1133,1136],{"class":141,"line":192},[139,1115,80],{"class":152},[139,1117,1118],{"class":220}," tar",[139,1120,1121],{"class":197}," -czf",[139,1123,1124],{"class":220}," /tmp/logs_archive_",[139,1126,1064],{"class":812},[139,1128,1067],{"class":152},[139,1130,1070],{"class":220},[139,1132,1073],{"class":812},[139,1134,1135],{"class":220},".tar.gz",[139,1137,1138],{"class":220}," /var/log/\n",[17,1140,1142],{"id":1141},"проверка-результата","Проверка результата",[22,1144,1145],{},"Вы успешно освоили анализ логов, если можете:",[70,1147,1148,1158,1167,1182],{},[29,1149,1150,1153,1154,1157],{},[32,1151,1152],{},"Быстро найти причину падения службы:"," ",[43,1155,1156],{},"journalctl -u \u003Cservice> -p err --since \"10 min ago\""," показал ошибку.",[29,1159,1160,1153,1163,1166],{},[32,1161,1162],{},"Отследить подозрительную активность:",[43,1164,1165],{},"grep \"Failed password\" /var/log/auth.log"," выявил IP-адрес атакователя.",[29,1168,1169,1153,1172,1175,1176,535,1179,96],{},[32,1170,1171],{},"Увидеть, что загрузило систему:",[43,1173,1174],{},"journalctl -b"," (логи текущей загрузки) и поиск по ",[43,1177,1178],{},"kworker",[43,1180,1181],{},"oom-killer",[29,1183,1184,1187],{},[32,1185,1186],{},"Сформировать отчёт:"," Экспортировали логи за определённый период в файл.",[17,1189,1191],{"id":1190},"возможные-проблемы","Возможные проблемы",[22,1193,1194,1153,1197,1199,1200,1203,1204,1207,1208,1211,1212,96],{},[32,1195,1196],{},"Проблема:",[43,1198,118],{}," выводит \"No journal files were found.\"\n",[32,1201,1202],{},"Решение:"," Служба ",[43,1205,1206],{},"systemd-journald"," не работает или журнал отключён. Проверьте ",[43,1209,1210],{},"systemctl status systemd-journald",". Возможно, логи пишутся только в ",[43,1213,84],{},[22,1215,1216,1153,1218,1221,1222,535,1224,1226,1227,1229,1230,1232,1233,1235,1236,1239,1240,1243],{},[32,1217,1196],{},[43,1219,1220],{},"Permission denied"," при чтении ",[43,1223,84],{},[43,1225,118],{},".\n",[32,1228,1202],{}," Запускайте команды с ",[43,1231,80],{}," или от имени root. Для ",[43,1234,118],{}," можно добавить пользователя в группу ",[43,1237,1238],{},"systemd-journal"," (",[43,1241,1242],{},"sudo usermod -aG systemd-journal $USER","), но это даёт доступ ко всем логам.",[22,1245,1246,1248,1249,1252,1253,1255,1256,1258,1259,1262,1263,1265,1266,96],{},[32,1247,1196],{}," Логи ротируются (переименовываются в ",[43,1250,1251],{},".gz","), а ",[43,1254,109],{}," не находит старые записи.\n",[32,1257,1202],{}," Используйте ",[43,1260,1261],{},"zgrep"," для сжатых файлов или разверните их ",[43,1264,635],{},"/",[43,1267,1268],{},"gunzip -c",[22,1270,1271,1273,1274,1276,1277,1280,1281,1284,1285,535,1288,1291,1292,1295,1296,46],{},[32,1272,1196],{}," Слишком много логов, ничего не разобрать.\n",[32,1275,1202],{}," 1. Ужесточите фильтрацию (",[43,1278,1279],{},"-p err",", конкретная служба, конкретное время). 2. Используйте ",[43,1282,1283],{},"--no-pager"," для вывода в stdout и перенаправьте в файл для анализа в редакторе. 3. Ищите уникальные ",[43,1286,1287],{},"PID",[43,1289,1290],{},"UID"," и анализируйте логи только от них. 4. Настройте более гранулярное логирование в конфигурации приложения (например, ",[43,1293,1294],{},"loglevel = WARN"," вместо ",[43,1297,1298],{},"DEBUG",[1300,1301,1302],"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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":135,"searchDepth":149,"depth":149,"links":1304},[1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315],{"id":19,"depth":149,"text":20},{"id":64,"depth":149,"text":65},{"id":112,"depth":149,"text":113},{"id":314,"depth":149,"text":315},{"id":386,"depth":149,"text":387},{"id":516,"depth":149,"text":517},{"id":669,"depth":149,"text":670},{"id":876,"depth":149,"text":877},{"id":1032,"depth":149,"text":1033},{"id":1141,"depth":149,"text":1142},{"id":1190,"depth":149,"text":1191},null,"2026-02-16 13:46:51","Полное руководство по работе с логами в Linux. Узнайте, как использовать journalctl, grep и другие инструменты для диагностики проблем. Пошаговые инструкции с примерами.","medium",false,"15-20 мин","md",[1324,1327,1330,1333],{"question":1325,"answer":1326},"В чём разница между journalctl и чтением файлов в /var/log?","`journalctl` работает с бинарным журналом systemd (journal), который собирает логи со всех служб и ядра, поддерживает фильтрацию по времени, службе, приоритету. Файлы в `/var/log` — часто текстовые логи отдельных приложений (например, nginx, Apache). Для полной картины используйте оба подхода.",{"question":1328,"answer":1329},"Как искать в логах за определённый период времени?","С помощью флагов `--since` и `--until` у `journalctl`. Пример: `journalctl --since \"2024-01-15 09:00:00\" --until \"2024-01-15 10:30:00\"`. Также можно использовать относительные значения: `--since 2h ago`.",{"question":1331,"answer":1332},"Что делать, если логи в /var/log/ заполнили весь диск?","1. Очистить старые логи через `journalctl --vacuum-time=3d` (оставить за 3 дня). 2. Настроить ротацию логов в `/etc/systemd/journald.conf` (параметры `SystemMaxUse`, `MaxRetentionSec`). 3. Вручную удалить старые файлы в `/var/log/`, но осторожно.",{"question":1334,"answer":1335},"Где искать логи Docker-контейнеров?","Логи контейнеров по умолчанию не попадают в systemd journal. Используйте `docker logs \u003Ccontainer_name>`. Для сбора всех логов в один поток настройте драйвер логирования Docker (например, `json-file` или `journald`).",[1337,1340,1343,1346,1349],{"name":1338,"text":1339},"Определите источник лога","Поймите, чьи логи вам нужны: система (systemd), конкретная служба (nginx, ssh), приложение или ядро. Это определит команду и путь.",{"name":1341,"text":1342},"Используйте journalctl для системных логов","Для просмотра всего журнала systemd выполните `journalctl`. Добавьте `-f` для слежения в реальном времени или `-u \u003Cunit>` для логов конкретной службы.",{"name":1344,"text":1345},"Фильтруйте логи по ключевым словам и приоритетам","Применяйте `grep` к выводу journalctl: `journalctl | grep -i error`. Или используйте встроенные фильтры: `journalctl -p err..crit` (ошибки и критические).",{"name":1347,"text":1348},"Анализируйте логи приложений в /var/log/","Изучите содержимое текстовых файлов в `/var/log/` (например, `/var/log/syslog`, `/var/log/auth.log`). Используйте `tail -f /var/log/syslog` для мониторинга.",{"name":1350,"text":1351},"Используйте мощные инструменты для сложного анализа","Для агрегации и поиска по шаблонам примените `awk`, `sed` или конвейеры. Пример: `journalctl --since today | awk '{print $5}' | sort | uniq -c` (популярные источники логов за сегодня).","PT20M",[1354,1355,1356,1357,1358,1359,1360,1361],"анализ логов linux","как читать логи в linux","journalctl команды примеры","поиск ошибок в логах linux","мониторинг логов в реальном времени","логи systemd journal","grep для анализа логов","где находятся логи приложений linux","ru_RU",{},"/guides/linux/log-analysis","linux",[1367,1368,1369],"/guides/linux/systemd-service-management","/guides/linux/ssh-troubleshooting","/errors/linux/ssh-connection-refused","Гайды Linux",{"title":5,"description":1318},"guides/linux/log-analysis","Этот гайд научит вас эффективно находить, читать и анализировать системные и прикладные логи в Linux. Вы освоите ключевые команды для быстрой диагностики ошибок и мониторинга работы системы.",[1365,1375,1376,118,109,91,1377],"logs","sysadmin","debugging","guide","J_8H87RSSGo9gn8jnwLj3QBpmqInf9gm1SFRRjasMmg",{"data":1381,"body":1382},{},{"type":1383,"children":1384},"root",[1385],{"type":1386,"tag":22,"props":1387,"children":1388},"element",{},[1389,1395,1397,1403],{"type":1386,"tag":43,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":1394,"value":118},"text",{"type":1394,"value":1396}," работает с бинарным журналом systemd (journal), который собирает логи со всех служб и ядра, поддерживает фильтрацию по времени, службе, приоритету. Файлы в ",{"type":1386,"tag":43,"props":1398,"children":1400},{"className":1399},[],[1401],{"type":1394,"value":1402},"/var/log",{"type":1394,"value":1404}," — часто текстовые логи отдельных приложений (например, nginx, Apache). Для полной картины используйте оба подхода.",{"data":1406,"body":1407},{},{"type":1383,"children":1408},[1409],{"type":1386,"tag":22,"props":1410,"children":1411},{},[1412,1414,1419,1420,1425,1427,1432,1434,1440,1442,1448],{"type":1394,"value":1413},"С помощью флагов ",{"type":1386,"tag":43,"props":1415,"children":1417},{"className":1416},[],[1418],{"type":1394,"value":297},{"type":1394,"value":298},{"type":1386,"tag":43,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":1394,"value":301},{"type":1394,"value":1426}," у ",{"type":1386,"tag":43,"props":1428,"children":1430},{"className":1429},[],[1431],{"type":1394,"value":118},{"type":1394,"value":1433},". Пример: ",{"type":1386,"tag":43,"props":1435,"children":1437},{"className":1436},[],[1438],{"type":1394,"value":1439},"journalctl --since \"2024-01-15 09:00:00\" --until \"2024-01-15 10:30:00\"",{"type":1394,"value":1441},". Также можно использовать относительные значения: ",{"type":1386,"tag":43,"props":1443,"children":1445},{"className":1444},[],[1446],{"type":1394,"value":1447},"--since 2h ago",{"type":1394,"value":96},{"data":1450,"body":1451},{},{"type":1383,"children":1452},[1453],{"type":1386,"tag":70,"props":1454,"children":1455},{},[1456],{"type":1386,"tag":29,"props":1457,"children":1458},{},[1459,1461,1467,1469,1475,1477,1483,1484,1490,1492,1497],{"type":1394,"value":1460},"Очистить старые логи через ",{"type":1386,"tag":43,"props":1462,"children":1464},{"className":1463},[],[1465],{"type":1394,"value":1466},"journalctl --vacuum-time=3d",{"type":1394,"value":1468}," (оставить за 3 дня). 2. Настроить ротацию логов в ",{"type":1386,"tag":43,"props":1470,"children":1472},{"className":1471},[],[1473],{"type":1394,"value":1474},"/etc/systemd/journald.conf",{"type":1394,"value":1476}," (параметры ",{"type":1386,"tag":43,"props":1478,"children":1480},{"className":1479},[],[1481],{"type":1394,"value":1482},"SystemMaxUse",{"type":1394,"value":103},{"type":1386,"tag":43,"props":1485,"children":1487},{"className":1486},[],[1488],{"type":1394,"value":1489},"MaxRetentionSec",{"type":1394,"value":1491},"). 3. Вручную удалить старые файлы в ",{"type":1386,"tag":43,"props":1493,"children":1495},{"className":1494},[],[1496],{"type":1394,"value":84},{"type":1394,"value":1498},", но осторожно.",{"data":1500,"body":1501},{},{"type":1383,"children":1502},[1503],{"type":1386,"tag":22,"props":1504,"children":1505},{},[1506,1508,1514,1516,1522,1523,1529],{"type":1394,"value":1507},"Логи контейнеров по умолчанию не попадают в systemd journal. Используйте ",{"type":1386,"tag":43,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":1394,"value":1513},"docker logs \u003Ccontainer_name>",{"type":1394,"value":1515},". Для сбора всех логов в один поток настройте драйвер логирования Docker (например, ",{"type":1386,"tag":43,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":1394,"value":1521},"json-file",{"type":1394,"value":535},{"type":1386,"tag":43,"props":1524,"children":1526},{"className":1525},[],[1527],{"type":1394,"value":1528},"journald",{"type":1394,"value":46},{"data":1531,"body":1532},{},{"type":1383,"children":1533},[1534],{"type":1386,"tag":22,"props":1535,"children":1536},{},[1537],{"type":1394,"value":1339},{"data":1539,"body":1540},{},{"type":1383,"children":1541},[1542],{"type":1386,"tag":22,"props":1543,"children":1544},{},[1545,1547,1552,1554,1560,1562,1568],{"type":1394,"value":1546},"Для просмотра всего журнала systemd выполните ",{"type":1386,"tag":43,"props":1548,"children":1550},{"className":1549},[],[1551],{"type":1394,"value":118},{"type":1394,"value":1553},". Добавьте ",{"type":1386,"tag":43,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":1394,"value":1559},"-f",{"type":1394,"value":1561}," для слежения в реальном времени или ",{"type":1386,"tag":43,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":1394,"value":1567},"-u \u003Cunit>",{"type":1394,"value":1569}," для логов конкретной службы.",{"data":1571,"body":1572},{},{"type":1383,"children":1573},[1574],{"type":1386,"tag":22,"props":1575,"children":1576},{},[1577,1579,1584,1586,1592,1594,1600],{"type":1394,"value":1578},"Применяйте ",{"type":1386,"tag":43,"props":1580,"children":1582},{"className":1581},[],[1583],{"type":1394,"value":109},{"type":1394,"value":1585}," к выводу journalctl: ",{"type":1386,"tag":43,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":1394,"value":1591},"journalctl | grep -i error",{"type":1394,"value":1593},". Или используйте встроенные фильтры: ",{"type":1386,"tag":43,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":1394,"value":1599},"journalctl -p err..crit",{"type":1394,"value":1601}," (ошибки и критические).",{"data":1603,"body":1604},{},{"type":1383,"children":1605},[1606],{"type":1386,"tag":22,"props":1607,"children":1608},{},[1609,1611,1616,1618,1623,1624,1629,1631,1637],{"type":1394,"value":1610},"Изучите содержимое текстовых файлов в ",{"type":1386,"tag":43,"props":1612,"children":1614},{"className":1613},[],[1615],{"type":1394,"value":84},{"type":1394,"value":1617}," (например, ",{"type":1386,"tag":43,"props":1619,"children":1621},{"className":1620},[],[1622],{"type":1394,"value":534},{"type":1394,"value":103},{"type":1386,"tag":43,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":1394,"value":544},{"type":1394,"value":1630},"). Используйте ",{"type":1386,"tag":43,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":1394,"value":1636},"tail -f /var/log/syslog",{"type":1394,"value":1638}," для мониторинга.",{"data":1640,"body":1641},{},{"type":1383,"children":1642},[1643],{"type":1386,"tag":22,"props":1644,"children":1645},{},[1646,1648,1654,1655,1661,1663,1669],{"type":1394,"value":1647},"Для агрегации и поиска по шаблонам примените ",{"type":1386,"tag":43,"props":1649,"children":1651},{"className":1650},[],[1652],{"type":1394,"value":1653},"awk",{"type":1394,"value":103},{"type":1386,"tag":43,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":1394,"value":1660},"sed",{"type":1394,"value":1662}," или конвейеры. Пример: ",{"type":1386,"tag":43,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":1394,"value":1668},"journalctl --since today | awk '{print $5}' | sort | uniq -c",{"type":1394,"value":1670}," (популярные источники логов за сегодня).",[1672,2490,3984],{"id":1673,"title":1674,"appliesTo":1675,"author":12,"body":1679,"canonical":1316,"code":1316,"createdAt":2436,"description":2437,"difficulty":1319,"draft":1320,"estimatedTime":2438,"extension":1322,"faq":2439,"howToSteps":2452,"howToTotalTime":1352,"image":1316,"keywords":2471,"locale":1362,"meta":2480,"navigation":159,"path":1367,"platform":1365,"related":2481,"section":1370,"seo":2485,"severity":1316,"stem":2486,"summary":2487,"tags":2488,"twitterCreator":1316,"twitterSite":1316,"type":1378,"updatedAt":2436,"__hash__":2489},"content_ru/guides/linux/systemd-service-management.md","Управление systemd-сервисами: полное руководство по запуску, остановке и настройке",[7,1676,1677,1678],"CentOS/RHEL 8+","Debian 10+","Fedora",{"type":14,"value":1680,"toc":2425},[1681,1683,1686,1693,1695,1711,1715,1718,1829,1833,1839,1923,1925,1929,2030,2034,2039,2159,2163,2239,2241,2287,2289,2422],[17,1682,20],{"id":19},[22,1684,1685],{},"Systemd стал стандартом для управления службами и процессами в большинстве современных дистрибутивов Linux (Ubuntu, Fedora, CentOS/RHEL 8+, Debian 10+). Понимание его основ — обязательный навык для системного администратора и разработчика, работающего с серверами.",[22,1687,1688,1689,298,1691,96],{},"Это руководство даст вам практические навыки для повседневного управления сервисами: запуск, остановка, настройка автозапуска и диагностика сбоев. Вы сможете уверенно работать с такими командами, как ",[43,1690,800],{},[43,1692,118],{},[17,1694,65],{"id":64},[26,1696,1697,1702,1708],{},[29,1698,1699,1700,46],{},"Дистрибутив Linux с системой инициализации systemd (проверьте: ",[43,1701,95],{},[29,1703,1704,1705,1707],{},"Доступ к терминалу с правами ",[32,1706,80],{}," (для управления системными службами).",[29,1709,1710],{},"Базовое понимание командной строки.",[17,1712,1714],{"id":1713},"шаг-1-основные-команды-управления-состоянием-службы","Шаг 1: Основные команды управления состоянием службы",[22,1716,1717],{},"Systemctl — основной инструмент взаимодействия с systemd. Вот ключевые команды для управления состоянием:",[26,1719,1720,1749,1770,1791],{},[29,1721,1722,1725,1743],{},[32,1723,1724],{},"Запуск службы:",[130,1726,1728],{"className":132,"code":1727,"language":134,"meta":135,"style":135},"sudo systemctl start имя_службы.service\n",[43,1729,1730],{"__ignoreMap":135},[139,1731,1732,1734,1737,1740],{"class":141,"line":142},[139,1733,80],{"class":152},[139,1735,1736],{"class":220}," systemctl",[139,1738,1739],{"class":220}," start",[139,1741,1742],{"class":220}," имя_службы.service\n",[882,1744,1745,1746],{},"Пример: ",[43,1747,1748],{},"sudo systemctl start nginx",[29,1750,1751,1754],{},[32,1752,1753],{},"Остановка службы:",[130,1755,1757],{"className":132,"code":1756,"language":134,"meta":135,"style":135},"sudo systemctl stop имя_службы.service\n",[43,1758,1759],{"__ignoreMap":135},[139,1760,1761,1763,1765,1768],{"class":141,"line":142},[139,1762,80],{"class":152},[139,1764,1736],{"class":220},[139,1766,1767],{"class":220}," stop",[139,1769,1742],{"class":220},[29,1771,1772,1775],{},[32,1773,1774],{},"Перезапуск службы (мягкий):",[130,1776,1778],{"className":132,"code":1777,"language":134,"meta":135,"style":135},"sudo systemctl restart имя_службы.service\n",[43,1779,1780],{"__ignoreMap":135},[139,1781,1782,1784,1786,1789],{"class":141,"line":142},[139,1783,80],{"class":152},[139,1785,1736],{"class":220},[139,1787,1788],{"class":220}," restart",[139,1790,1742],{"class":220},[29,1792,1793,1796,1812],{},[32,1794,1795],{},"Принудительная перезагрузка (kill и запуск):",[130,1797,1799],{"className":132,"code":1798,"language":134,"meta":135,"style":135},"sudo systemctl try-restart имя_службы.service\n",[43,1800,1801],{"__ignoreMap":135},[139,1802,1803,1805,1807,1810],{"class":141,"line":142},[139,1804,80],{"class":152},[139,1806,1736],{"class":220},[139,1808,1809],{"class":220}," try-restart",[139,1811,1742],{"class":220},[1813,1814,1815],"blockquote",{},[22,1816,1817,1818,1821,1822,1239,1825,1828],{},"💡 ",[32,1819,1820],{},"Совет:"," Для веб-серверов (nginx, apache) после изменения конфигурации используйте ",[43,1823,1824],{},"reload",[43,1826,1827],{},"sudo systemctl reload nginx","), чтобы перечитать конфиг без разрыва соединений.",[17,1830,1832],{"id":1831},"шаг-2-управление-автозагрузкой-включениеотключение","Шаг 2: Управление автозагрузкой (включение/отключение)",[22,1834,1835,1836,96],{},"Чтобы служба автоматически запускалась при загрузке системы, её нужно ",[882,1837,1838],{},"включить",[26,1840,1841,1866,1887],{},[29,1842,1843,1846,1862,1863,96],{},[32,1844,1845],{},"Включить автозапуск:",[130,1847,1849],{"className":132,"code":1848,"language":134,"meta":135,"style":135},"sudo systemctl enable имя_службы.service\n",[43,1850,1851],{"__ignoreMap":135},[139,1852,1853,1855,1857,1860],{"class":141,"line":142},[139,1854,80],{"class":152},[139,1856,1736],{"class":220},[139,1858,1859],{"class":220}," enable",[139,1861,1742],{"class":220},"\nЭта команда создаёт символьную ссылку на unit-файл в каталоге ",[43,1864,1865],{},"/etc/systemd/system/",[29,1867,1868,1871],{},[32,1869,1870],{},"Отключить автозапуск:",[130,1872,1874],{"className":132,"code":1873,"language":134,"meta":135,"style":135},"sudo systemctl disable имя_службы.service\n",[43,1875,1876],{"__ignoreMap":135},[139,1877,1878,1880,1882,1885],{"class":141,"line":142},[139,1879,80],{"class":152},[139,1881,1736],{"class":220},[139,1883,1884],{"class":220}," disable",[139,1886,1742],{"class":220},[29,1888,1889,1892,1906,1907,1910,1911,1914,1915,1918,1919,1922],{},[32,1890,1891],{},"Проверить, включена ли служба в автозагрузку:",[130,1893,1895],{"className":132,"code":1894,"language":134,"meta":135,"style":135},"systemctl is-enabled имя_службы.service\n",[43,1896,1897],{"__ignoreMap":135},[139,1898,1899,1901,1904],{"class":141,"line":142},[139,1900,800],{"class":152},[139,1902,1903],{"class":220}," is-enabled",[139,1905,1742],{"class":220},"\nВывод: ",[43,1908,1909],{},"enabled"," (включена), ",[43,1912,1913],{},"disabled"," (отключена), ",[43,1916,1917],{},"static"," (не может быть включена напрямую, но может быть зависимостью), ",[43,1920,1921],{},"masked"," (полностью заблокирована).",[512,1924],{},[17,1926,1928],{"id":1927},"шаг-3-просмотр-статуса-и-всех-служб","Шаг 3: Просмотр статуса и всех служб",[26,1930,1931,1958,1978,2000],{},[29,1932,1933,1936,1949,1950,1953,1954,1957],{},[32,1934,1935],{},"Детальный статус конкретной службы:",[130,1937,1939],{"className":132,"code":1938,"language":134,"meta":135,"style":135},"systemctl status имя_службы.service\n",[43,1940,1941],{"__ignoreMap":135},[139,1942,1943,1945,1947],{"class":141,"line":142},[139,1944,800],{"class":152},[139,1946,803],{"class":220},[139,1948,1742],{"class":220},"\nВывод показывает: ",[43,1951,1952],{},"Active:"," (состояние), ",[43,1955,1956],{},"Main PID:"," (идентификатор процесса), и последние строки журнала этой службы.",[29,1959,1960,1963],{},[32,1961,1962],{},"Список всех загруженных (активных) юнитов:",[130,1964,1966],{"className":132,"code":1965,"language":134,"meta":135,"style":135},"systemctl list-units --type=service\n",[43,1967,1968],{"__ignoreMap":135},[139,1969,1970,1972,1975],{"class":141,"line":142},[139,1971,800],{"class":152},[139,1973,1974],{"class":220}," list-units",[139,1976,1977],{"class":197}," --type=service\n",[29,1979,1980,1983],{},[32,1981,1982],{},"Список ВСЕХ доступных служб (включая неактивные):",[130,1984,1986],{"className":132,"code":1985,"language":134,"meta":135,"style":135},"systemctl list-units --type=service --all\n",[43,1987,1988],{"__ignoreMap":135},[139,1989,1990,1992,1994,1997],{"class":141,"line":142},[139,1991,800],{"class":152},[139,1993,1974],{"class":220},[139,1995,1996],{"class":197}," --type=service",[139,1998,1999],{"class":197}," --all\n",[29,2001,2002,2005],{},[32,2003,2004],{},"Поиск службы по имени:",[130,2006,2008],{"className":132,"code":2007,"language":134,"meta":135,"style":135},"systemctl list-units --type=service --all | grep -i ssh\n",[43,2009,2010],{"__ignoreMap":135},[139,2011,2012,2014,2016,2018,2021,2023,2025,2027],{"class":141,"line":142},[139,2013,800],{"class":152},[139,2015,1974],{"class":220},[139,2017,1996],{"class":197},[139,2019,2020],{"class":197}," --all",[139,2022,175],{"class":174},[139,2024,414],{"class":152},[139,2026,437],{"class":197},[139,2028,2029],{"class":220}," ssh\n",[17,2031,2033],{"id":2032},"шаг-4-анализ-логов-с-помощью-journalctl","Шаг 4: Анализ логов с помощью journalctl",[22,2035,2036,2037,96],{},"Логи systemd хранятся в бинарном журнале, доступном через ",[43,2038,118],{},[26,2040,2041,2062,2089,2108,2134],{},[29,2042,2043,2046],{},[32,2044,2045],{},"Просмотр логов конкретной службы:",[130,2047,2049],{"className":132,"code":2048,"language":134,"meta":135,"style":135},"sudo journalctl -u имя_службы.service\n",[43,2050,2051],{"__ignoreMap":135},[139,2052,2053,2055,2058,2060],{"class":141,"line":142},[139,2054,80],{"class":152},[139,2056,2057],{"class":220}," journalctl",[139,2059,217],{"class":197},[139,2061,1742],{"class":220},[29,2063,2064,2071],{},[32,2065,2066,2067,2070],{},"Отслеживание логов в реальном времени (аналог ",[43,2068,2069],{},"tail -f","):",[130,2072,2074],{"className":132,"code":2073,"language":134,"meta":135,"style":135},"sudo journalctl -u имя_службы.service -f\n",[43,2075,2076],{"__ignoreMap":135},[139,2077,2078,2080,2082,2084,2087],{"class":141,"line":142},[139,2079,80],{"class":152},[139,2081,2057],{"class":220},[139,2083,217],{"class":197},[139,2085,2086],{"class":220}," имя_службы.service",[139,2088,198],{"class":197},[29,2090,2091,2094],{},[32,2092,2093],{},"Логи за последнюю загрузку системы:",[130,2095,2097],{"className":132,"code":2096,"language":134,"meta":135,"style":135},"sudo journalctl -b\n",[43,2098,2099],{"__ignoreMap":135},[139,2100,2101,2103,2105],{"class":141,"line":142},[139,2102,80],{"class":152},[139,2104,2057],{"class":220},[139,2106,2107],{"class":197}," -b\n",[29,2109,2110,2113],{},[32,2111,2112],{},"Логи с фильтрацией по времени:",[130,2114,2116],{"className":132,"code":2115,"language":134,"meta":135,"style":135},"sudo journalctl --since \"2026-02-15 10:00:00\" --until \"2026-02-15 12:00:00\"\n",[43,2117,2118],{"__ignoreMap":135},[139,2119,2120,2122,2124,2126,2129,2131],{"class":141,"line":142},[139,2121,80],{"class":152},[139,2123,2057],{"class":220},[139,2125,240],{"class":197},[139,2127,2128],{"class":220}," \"2026-02-15 10:00:00\"",[139,2130,288],{"class":197},[139,2132,2133],{"class":220}," \"2026-02-15 12:00:00\"\n",[29,2135,2136,2139],{},[32,2137,2138],{},"Показать логи с максимальной детализацией для службы:",[130,2140,2142],{"className":132,"code":2141,"language":134,"meta":135,"style":135},"sudo journalctl -u имя_службы.service -o verbose\n",[43,2143,2144],{"__ignoreMap":135},[139,2145,2146,2148,2150,2152,2154,2156],{"class":141,"line":142},[139,2147,80],{"class":152},[139,2149,2057],{"class":220},[139,2151,217],{"class":197},[139,2153,2086],{"class":220},[139,2155,963],{"class":197},[139,2157,2158],{"class":220}," verbose\n",[17,2160,2162],{"id":2161},"шаг-5-дополнительные-операции-перезагрузка-конфигурации-маскировка","Шаг 5: Дополнительные операции (перезагрузка конфигурации, маскировка)",[26,2164,2165,2184,2213],{},[29,2166,2167,2170],{},[32,2168,2169],{},"Перезагрузка конфигурации systemd (обязательно после создания/изменения unit-файлов):",[130,2171,2173],{"className":132,"code":2172,"language":134,"meta":135,"style":135},"sudo systemctl daemon-reload\n",[43,2174,2175],{"__ignoreMap":135},[139,2176,2177,2179,2181],{"class":141,"line":142},[139,2178,80],{"class":152},[139,2180,1736],{"class":220},[139,2182,2183],{"class":220}," daemon-reload\n",[29,2185,2186,2189,2205,2206,2209,2210,96],{},[32,2187,2188],{},"Полная блокировка службы (mask) — предотвращает любой ручной или автоматический запуск:",[130,2190,2192],{"className":132,"code":2191,"language":134,"meta":135,"style":135},"sudo systemctl mask имя_службы.service\n",[43,2193,2194],{"__ignoreMap":135},[139,2195,2196,2198,2200,2203],{"class":141,"line":142},[139,2197,80],{"class":152},[139,2199,1736],{"class":220},[139,2201,2202],{"class":220}," mask",[139,2204,1742],{"class":220},"\nСоздаёт символическую ссылку на ",[43,2207,2208],{},"/dev/null",". Разблокировка: ",[43,2211,2212],{},"sudo systemctl unmask имя_службы.service",[29,2214,2215,2218,2234,2235,2238],{},[32,2216,2217],{},"Принудительная остановка и сброс состояния службы:",[130,2219,2221],{"className":132,"code":2220,"language":134,"meta":135,"style":135},"sudo systemctl reset-failed имя_службы.service\n",[43,2222,2223],{"__ignoreMap":135},[139,2224,2225,2227,2229,2232],{"class":141,"line":142},[139,2226,80],{"class":152},[139,2228,1736],{"class":220},[139,2230,2231],{"class":220}," reset-failed",[139,2233,1742],{"class":220},"\nПолезно, если служба в состоянии ",[43,2236,2237],{},"failed"," и не запускается после исправления ошибки.",[17,2240,1142],{"id":1141},[70,2242,2243,2259,2269],{},[29,2244,2245,2248,2249,2252,2253,2255,2256,96],{},[32,2246,2247],{},"Для проверки работы:"," выполните ",[43,2250,2251],{},"systemctl status имя_службы",". Убедитесь, что строка ",[43,2254,1952],{}," содержит ",[43,2257,2258],{},"active (running)",[29,2260,2261,2264,2265,2268],{},[32,2262,2263],{},"Для проверки автозагрузки:"," перезагрузите систему (",[43,2266,2267],{},"sudo reboot",") и после входа проверьте статус службы.",[29,2270,2271,2274,2275,2278,2279,103,2281,103,2284,46],{},[32,2272,2273],{},"Для проверки логов:"," убедитесь, что ",[43,2276,2277],{},"journalctl -u имя_службы"," не содержит ошибок (",[43,2280,2237],{},[43,2282,2283],{},"error",[43,2285,2286],{},"permission denied",[17,2288,1191],{"id":1190},[26,2290,2291,2317,2339,2359,2396],{},[29,2292,2293,2302],{},[32,2294,2295,2296,535,2299],{},"Ошибка ",[43,2297,2298],{},"Failed to start ...",[43,2300,2301],{},"Unit not found.",[26,2303,2304],{},[29,2305,2306,2309,2310,2313,2314,96],{},[32,2307,2308],{},"Причина:"," Unit-файл отсутствует или имеет неверное имя. Убедитесь, что служба существует: ",[43,2311,2312],{},"systemctl list-unit-files | grep имя_службы",". Проверьте синтаксис unit-файла: ",[43,2315,2316],{},"sudo systemd-analyze verify /etc/systemd/system/имя_службы.service",[29,2318,2319,2322],{},[32,2320,2321],{},"Служба запускается, но сразу же останавливается.",[26,2323,2324],{},[29,2325,2326,2328,2329,1617,2332,2335,2336,96],{},[32,2327,2308],{}," Ошибка в самом приложении или неверные параметры в секции ",[43,2330,2331],{},"[Service]",[43,2333,2334],{},"ExecStart"," указывает на несуществующий бинарник). Смотрите детальные логи: ",[43,2337,2338],{},"sudo journalctl -u имя_службы.service -n 50 --no-pager",[29,2340,2341,2346],{},[32,2342,2343,2345],{},[43,2344,1220],{}," при попытке управления системной службой.",[26,2347,2348],{},[29,2349,2350,2352,2353,2355,2356,2358],{},[32,2351,2308],{}," Выполняете команду без ",[43,2354,80],{},". Для управления системными службами (из ",[43,2357,1865],{},") требуются права root.",[29,2360,2361,2368],{},[32,2362,2363,2364,2367],{},"Служба не включается в автозагрузку (",[43,2365,2366],{},"enable"," не срабатывает).",[26,2369,2370],{},[29,2371,2372,2374,2375,2378,2379,535,2382,2385,2386,2389,2390,298,2393,2395],{},[32,2373,2308],{}," Unit-файл имеет ",[43,2376,2377],{},"[Install]"," секцию, но не содержит ",[43,2380,2381],{},"WantedBy=",[43,2383,2384],{},"RequiredBy="," (чаще всего ",[43,2387,2388],{},"WantedBy=multi-user.target","). Добавьте эту строку в unit-файл и выполните ",[43,2391,2392],{},"daemon-reload",[43,2394,2366],{}," заново.",[29,2397,2398,2401],{},[32,2399,2400],{},"Циклические перезапуски (restart loop).",[26,2402,2403],{},[29,2404,2405,2407,2408,2255,2410,2413,2414,2417,2418,2421],{},[32,2406,2308],{}," В unit-файле секция ",[43,2409,2331],{},[43,2411,2412],{},"Restart=always"," (или ",[43,2415,2416],{},"on-failure","), а процесс немедленно завершается с ошибкой. Исправьте ошибку приложения или временно закомментируйте ",[43,2419,2420],{},"Restart"," для диагностики.",[1300,2423,2424],{},"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":135,"searchDepth":149,"depth":149,"links":2426},[2427,2428,2429,2430,2431,2432,2433,2434,2435],{"id":19,"depth":149,"text":20},{"id":64,"depth":149,"text":65},{"id":1713,"depth":149,"text":1714},{"id":1831,"depth":149,"text":1832},{"id":1927,"depth":149,"text":1928},{"id":2032,"depth":149,"text":2033},{"id":2161,"depth":149,"text":2162},{"id":1141,"depth":149,"text":1142},{"id":1190,"depth":149,"text":1191},"2026-02-16 12:40:35","Пошаговая инструкция по работе с systemd. Узнайте, как управлять службами Linux через systemctl: запуск, остановка, автозагрузка, просмотр логов. Решения для Ubuntu, CentOS, Debian.","15-30 мин",[2440,2443,2446,2449],{"answer":2441,"question":2442},"Используйте команду `systemctl status \u003Cимя_службы>`. В выводе ищите строку `Active: active (running)` для работающих сервисов.","Как проверить, работает ли служба systemd?",{"answer":2444,"question":2445},"Systemd обеспечивает параллельный запуск служб, имеет единую точку управления (systemctl), встроенный журнал (journalctl) и более сложные зависимости между сервисами.","Чем systemd отличается от старых init-скриптов (SysVinit)?",{"answer":2447,"question":2448},"Создайте файл `/etc/systemd/system/ваш-сервис.service` с корректными секциями `[Unit]`, `[Service]` и `[Install]`, затем выполните `systemctl daemon-reload`.","Как создать свой собственный unit-файл для сервиса?",{"answer":2450,"question":2451},"Возможные причины: ошибка в unit-файле, конфликт зависимостей, отсутствие требуемого устройства или файла. Проверьте логи: `journalctl -u \u003Cимя_службы> -b`.","Почему служба не запускается при загрузке, хотя включена через systemctl enable?",[2453,2456,2459,2462,2465,2468],{"name":2454,"text":2455},"Проверка статуса службы","Используйте `systemctl status \u003Cservice>` для получения подробной информации о состоянии, PID и последних записях журнала.",{"name":2457,"text":2458},"Базовое управление (start, stop, restart)","Запустите службу командой `systemctl start \u003Cservice>`, остановите `stop`, перезапустите `restart`.",{"name":2460,"text":2461},"Управление автозагрузкой","Включите автозапуск при загрузке системы: `systemctl enable \u003Cservice>`. Отключите: `systemctl disable \u003Cservice>`.",{"name":2463,"text":2464},"Просмотр всех служб и фильтрация","`systemctl list-units --type=service --all` показывает все unit-файлы. Используйте `grep` для поиска, например: `systemctl list-units | grep nginx`.",{"name":2466,"text":2467},"Работа с журналом (journalctl)","Просмотрите логи конкретной службы: `journalctl -u \u003Cservice> -f` (слежение в реальном времени).",{"name":2469,"text":2470},"Перезагрузка демона systemd","После ручного изменения unit-файлов выполните `systemctl daemon-reload`, чтобы systemd перечитал конфигурацию.",[2472,2473,2474,2475,2476,2477,2478,2479],"systemd управление сервисами","systemctl команды","как запустить службу в linux","systemd journal логи","включить автозагрузку службы","остановить systemd сервис","проверить статус службы","systemd service management",{},[2482,2483,2484],"/guides/linux/systemd-journal-logs","/errors/linux/systemd-failed-to-start","/guides/linux/crontab-vs-systemd-timers",{"title":1674,"description":2437},"guides/linux/systemd-service-management","В этом гайде вы освоите основные команды systemctl для управления службами в современных дистрибутивах Linux. Вы научитесь запускать, останавливать, включать в автозагрузку сервисы и диагностировать проблемы.",[91,1365,1376,1378,800],"9uE8OqlOsTa0iBKReZb5paRxhaZypg32oh1Z0Lq3y94",{"id":2491,"title":2492,"appliesTo":2493,"author":12,"body":2497,"canonical":1316,"code":1316,"createdAt":3935,"description":3936,"difficulty":1319,"draft":1320,"estimatedTime":2438,"extension":1322,"faq":3937,"howToSteps":3947,"howToTotalTime":1352,"image":1316,"keywords":3963,"locale":1362,"meta":3972,"navigation":159,"path":1368,"platform":1365,"related":3973,"section":1370,"seo":3975,"severity":1316,"stem":3976,"summary":3977,"tags":3978,"twitterCreator":1316,"twitterSite":1316,"type":1378,"updatedAt":3935,"__hash__":3983},"content_ru/guides/linux/ssh-troubleshooting.md","SSH не подключается: полное руководство по диагностике и решению",[2494,2495,8,2496],"Ubuntu 22.04+","CentOS 7/8","Any Linux with OpenSSH",{"type":14,"value":2498,"toc":3923},[2499,2501,2504,2507,2509,2512,2559,2562,2566,2569,2722,2731,2735,2738,2781,2784,2820,2826,2830,2837,3087,3091,3094,3411,3413,3417,3420,3675,3677,3680,3691,3701,3706,3724,3726,3856,3860,3920],[17,2500,20],{"id":19},[22,2502,2503],{},"Подключение к удалённому серверу по SSH — это основа ежедневной работы системного администратора, DevOps-инженера и разработчика. Когда подключение не удаётся, работа останавливается. Ошибки SSH часто имеют схожие причины: сетевая недоступность, неверные настройки демона, проблемы с аутентификацией или блокировка брандмауэром. Этот гайд предлагает структурированный, пошаговый подход к диагностике, который поможет вам быстро найти и устранить корень проблемы, а не просто \"перезапустить сервис и надеяться\".",[22,2505,2506],{},"После выполнения этого руководства вы сможете самостоятельно диагностировать любую проблему с SSH-подключением в Linux, начиная с проверки канала и заканчивая анализом логов.",[17,2508,65],{"id":64},[22,2510,2511],{},"Перед началом диагностики убедитесь, что у вас есть:",[70,2513,2514,2520,2528,2543],{},[29,2515,2516,2519],{},[32,2517,2518],{},"Доступ к консоли сервера"," (KVM, IPMI, виртуальная консоль в панели управления хостинг-провайдера). Это критически важно, если проблема заблокировала ваш основной SSH-доступ.",[29,2521,2522,2527],{},[32,2523,2524,2525,1073],{},"Права суперпользователя (",[43,2526,80],{}," на целевом сервере для проверки логов, конфигурации и управления брандмауэром.",[29,2529,2530,2533,2534,103,2537,103,2540,46],{},[32,2531,2532],{},"Клиентская машина"," с установленным OpenSSH-клиентом (",[43,2535,2536],{},"ssh",[43,2538,2539],{},"scp",[43,2541,2542],{},"ssh-keygen",[29,2544,2545,2548,2549,103,2552,103,2555,2558],{},[32,2546,2547],{},"Базовые знания"," о работе сетевых команд (",[43,2550,2551],{},"ping",[43,2553,2554],{},"nc",[43,2556,2557],{},"ss",") и структуре файловых прав в Linux.",[2560,2561],"hr",{},[17,2563,2565],{"id":2564},"шаг-1-проверка-базовой-сетевой-доступности","Шаг 1: Проверка базовой сетевой доступности",[22,2567,2568],{},"Первым делом нужно понять, доходит ли ваш сетевой пакет до сервера и слушает ли сервер нужный порт (по умолчанию 22).",[70,2570,2571,2599],{},[29,2572,2573,2576,2595,2598],{},[32,2574,2575],{},"Проверьте доступность хоста:",[130,2577,2579],{"className":132,"code":2578,"language":134,"meta":135,"style":135},"ping \u003CIP_адрес_или_домен_сервера>\n",[43,2580,2581],{"__ignoreMap":135},[139,2582,2583,2585,2587,2590,2593],{"class":141,"line":142},[139,2584,2551],{"class":152},[139,2586,806],{"class":174},[139,2588,2589],{"class":220},"IP_адрес_или_домен_сервер",[139,2591,2592],{"class":812},"а",[139,2594,816],{"class":174},[2596,2597],"br",{},"Если ping не проходит, проблема на сетевом уровне (маршрутизация, firewall на промежуточном узле, сервер выключен).",[29,2600,2601,2604,2605,2608,2609,2656,2658,2659,535,2662,2665,2666,2669,2670,96,2673,2675,2676,2679,2680,2682,2683,2707,2709,2710,2713,2714,2717,2718,2721],{},[32,2602,2603],{},"Проверьте, слушает ли SSH-демон порт и открыт ли он снаружи:","\nНа ",[32,2606,2607],{},"сервере"," (через консоль) выполните:",[130,2610,2612],{"className":132,"code":2611,"language":134,"meta":135,"style":135},"# Посмотреть, какой порт слушает sshd и на каком интерфейсе\nsudo ss -tlnp | grep :22\n# Или\nsudo netstat -tlnp | grep :22\n",[43,2613,2614,2619,2636,2641],{"__ignoreMap":135},[139,2615,2616],{"class":141,"line":142},[139,2617,2618],{"class":145},"# Посмотреть, какой порт слушает sshd и на каком интерфейсе\n",[139,2620,2621,2623,2626,2629,2631,2633],{"class":141,"line":149},[139,2622,80],{"class":152},[139,2624,2625],{"class":220}," ss",[139,2627,2628],{"class":197}," -tlnp",[139,2630,175],{"class":174},[139,2632,414],{"class":152},[139,2634,2635],{"class":220}," :22\n",[139,2637,2638],{"class":141,"line":156},[139,2639,2640],{"class":145},"# Или\n",[139,2642,2643,2645,2648,2650,2652,2654],{"class":141,"line":163},[139,2644,80],{"class":152},[139,2646,2647],{"class":220}," netstat",[139,2649,2628],{"class":197},[139,2651,175],{"class":174},[139,2653,414],{"class":152},[139,2655,2635],{"class":220},[2596,2657],{},"Ожидаемый результат: ",[43,2660,2661],{},"0.0.0.0:22",[43,2663,2664],{},":::22"," (слушает на всех интерфейсах). Если ",[43,2667,2668],{},"127.0.0.1:22"," — демон слушает только localhost, и нужно править ",[43,2671,2672],{},"sshd_config",[2596,2674],{},"С ",[32,2677,2678],{},"клиента"," попробуйте проверить открытость порта с помощью ",[43,2681,2554],{}," (netcat):",[130,2684,2686],{"className":132,"code":2685,"language":134,"meta":135,"style":135},"nc -zv \u003CIP_адрес_сервера> 22\n",[43,2687,2688],{"__ignoreMap":135},[139,2689,2690,2692,2695,2697,2700,2702,2704],{"class":141,"line":142},[139,2691,2554],{"class":152},[139,2693,2694],{"class":197}," -zv",[139,2696,806],{"class":174},[139,2698,2699],{"class":220},"IP_адрес_сервер",[139,2701,2592],{"class":812},[139,2703,831],{"class":174},[139,2705,2706],{"class":197}," 22\n",[2596,2708],{},"Успешный результат: ",[43,2711,2712],{},"Connection to \u003CIP> 22 port [tcp/ssh] succeeded!",". Если ",[43,2715,2716],{},"Connection refused"," — порт закрыт (демон не слушает или блокируется брандмауэром). Если ",[43,2719,2720],{},"Operation timed out"," — пакеты теряются (брандмауэр сбрасывает соединение или проблема с маршрутизацией).",[1813,2723,2724],{},[22,2725,2726,2727,2730],{},"⚠️ ",[32,2728,2729],{},"Важно:"," Некоторые облачные провайдеры (AWS, GCP, DigitalOcean) используют Security Groups / Firewall Rules на уровне гипервизора. Убедитесь, что правила там разрешают входящий трафик на порт 22/TCP с вашего IP-адреса.",[17,2732,2734],{"id":2733},"шаг-2-анализ-логов-ssh-демона-на-сервере","Шаг 2: Анализ логов SSH-демона на сервере",[22,2736,2737],{},"Логи — самый ценный источник информации. Подключитесь к консоли сервера и проверьте системный журнал.",[26,2739,2740,2760],{},[29,2741,2742,2745],{},[32,2743,2744],{},"Для Debian/Ubuntu:",[130,2746,2748],{"className":132,"code":2747,"language":134,"meta":135,"style":135},"sudo tail -f /var/log/auth.log\n",[43,2749,2750],{"__ignoreMap":135},[139,2751,2752,2754,2756,2758],{"class":141,"line":142},[139,2753,80],{"class":152},[139,2755,708],{"class":220},[139,2757,615],{"class":197},[139,2759,510],{"class":220},[29,2761,2762,2765],{},[32,2763,2764],{},"Для RHEL/CentOS/Rocky/AlmaLinux:",[130,2766,2768],{"className":132,"code":2767,"language":134,"meta":135,"style":135},"sudo tail -f /var/log/secure\n",[43,2769,2770],{"__ignoreMap":135},[139,2771,2772,2774,2776,2778],{"class":141,"line":142},[139,2773,80],{"class":152},[139,2775,708],{"class":220},[139,2777,615],{"class":197},[139,2779,2780],{"class":220}," /var/log/secure\n",[22,2782,2783],{},"Теперь, с клиента, попробуйте выполнить неудачное подключение. Наблюдайте за логами в реальном времени. Типичные записи и их значение:",[26,2785,2786,2792,2798,2804,2810],{},[29,2787,2788,2791],{},[43,2789,2790],{},"Failed password for \u003Cuser> from \u003Cclient_ip> port \u003Cport> ssh2"," — неверный пароль (если парольная аутентификация включена).",[29,2793,2794,2797],{},[43,2795,2796],{},"Invalid user \u003Cuser> from \u003Cclient_ip>"," — попытка логина под несуществующим пользователем.",[29,2799,2800,2803],{},[43,2801,2802],{},"Connection closed by \u003Cclient_ip> port \u003Cport> [preauth]"," — клиент разорвал соединение до аутентификации (часто из-за несовпадения ключей или таймаута).",[29,2805,2806,2809],{},[43,2807,2808],{},"Authentication failed."," — общая ошибка аутентификации (ключ, пароль, GSSAPI).",[29,2811,2812,2815,2816,2819],{},[43,2813,2814],{},"POSSIBLE BREAK-IN ATTEMPT!"," — слишком много неудачных попыток, демон может временно заблокировать IP (если настроены ",[43,2817,2818],{},"MaxAuthTries"," или fail2ban).",[22,2821,2822,2825],{},[32,2823,2824],{},"Что искать:"," точное время попытки, IP-адрес клиента, имя пользователя и конкретную строку с ошибкой.",[17,2827,2829],{"id":2828},"шаг-3-валидация-конфигурации-ssh-демона-и-прав-доступа","Шаг 3: Валидация конфигурации SSH-демона и прав доступа",[22,2831,2832,2833,2836],{},"Неправильные настройки в ",[43,2834,2835],{},"/etc/ssh/sshd_config"," или права на файлы — частая причина отказа в доступе.",[70,2838,2839,2960],{},[29,2840,2841,2844,2868,2870,2871,2929,2931,2934],{},[32,2842,2843],{},"Проверьте основной конфиг:",[130,2845,2847],{"className":132,"code":2846,"language":134,"meta":135,"style":135},"sudo cat /etc/ssh/sshd_config | grep -E \"^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|DenyUsers)\"\n",[43,2848,2849],{"__ignoreMap":135},[139,2850,2851,2853,2856,2859,2861,2863,2865],{"class":141,"line":142},[139,2852,80],{"class":152},[139,2854,2855],{"class":220}," cat",[139,2857,2858],{"class":220}," /etc/ssh/sshd_config",[139,2860,175],{"class":174},[139,2862,414],{"class":152},[139,2864,460],{"class":197},[139,2866,2867],{"class":220}," \"^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|DenyUsers)\"\n",[2596,2869],{},"Ключевые параметры:",[26,2872,2873,2888,2897,2910,2920],{},[29,2874,2875,2878,2879,535,2882,2713,2885,2887],{},[43,2876,2877],{},"PasswordAuthentication"," — ",[43,2880,2881],{},"yes",[43,2883,2884],{},"no",[43,2886,2884],{},", нужен работающий публичный ключ.",[29,2889,2890,2893,2894,2896],{},[43,2891,2892],{},"PubkeyAuthentication"," — должен быть ",[43,2895,2881],{}," для работы с ключами.",[29,2898,2899,2878,2902,2905,2906,535,2908,96],{},[43,2900,2901],{},"PermitRootLogin",[43,2903,2904],{},"prohibit-password"," (разрешает только ключевую), ",[43,2907,2881],{},[43,2909,2884],{},[29,2911,2912,2915,2916,2919],{},[43,2913,2914],{},"AllowUsers"," / ",[43,2917,2918],{},"AllowGroups"," — если указаны, только перечисленные пользователи/группы могут подключаться.",[29,2921,2922,2925,2926,46],{},[43,2923,2924],{},"Port"," — нестандартный порт (если изменён, подключайтесь через него: ",[43,2927,2928],{},"ssh -p \u003Cport> user@host",[2596,2930],{},[32,2932,2933],{},"После любых изменений перезапустите демон:",[130,2935,2937],{"className":132,"code":2936,"language":134,"meta":135,"style":135},"sudo systemctl restart sshd\n# Или для старого sysvinit:\n# sudo service ssh restart\n",[43,2938,2939,2950,2955],{"__ignoreMap":135},[139,2940,2941,2943,2945,2947],{"class":141,"line":142},[139,2942,80],{"class":152},[139,2944,1736],{"class":220},[139,2946,1788],{"class":220},[139,2948,2949],{"class":220}," sshd\n",[139,2951,2952],{"class":141,"line":149},[139,2953,2954],{"class":145},"# Или для старого sysvinit:\n",[139,2956,2957],{"class":141,"line":156},[139,2958,2959],{"class":145},"# sudo service ssh restart\n",[29,2961,2962,2965,2966,2070,2969,3041,3043,3044],{},[32,2963,2964],{},"Проверьте права на файлы пользователя на сервере:","\nSSH-демон очень строг к правам. Подключитесь к консоли и проверьте для целевого пользователя (например, ",[43,2967,2968],{},"ubuntu",[130,2970,2972],{"className":132,"code":2971,"language":134,"meta":135,"style":135},"# Права на домашнюю директорию\nls -ld /home/ubuntu\n# Ожидается: drwxr-xr-x (755) или drwx------ (700). НЕ должно быть записи для группы и других (например, 777).\n\n# Права на папку .ssh\nls -ld /home/ubuntu/.ssh\n# Ожидается: drwx------ (700)\n\n# Права на файл authorized_keys\nls -l /home/ubuntu/.ssh/authorized_keys\n# Ожидается: -rw------- (600)\n",[43,2973,2974,2979,2990,2995,2999,3004,3013,3018,3022,3027,3036],{"__ignoreMap":135},[139,2975,2976],{"class":141,"line":142},[139,2977,2978],{"class":145},"# Права на домашнюю директорию\n",[139,2980,2981,2984,2987],{"class":141,"line":149},[139,2982,2983],{"class":152},"ls",[139,2985,2986],{"class":197}," -ld",[139,2988,2989],{"class":220}," /home/ubuntu\n",[139,2991,2992],{"class":141,"line":156},[139,2993,2994],{"class":145},"# Ожидается: drwxr-xr-x (755) или drwx------ (700). НЕ должно быть записи для группы и других (например, 777).\n",[139,2996,2997],{"class":141,"line":163},[139,2998,160],{"emptyLinePlaceholder":159},[139,3000,3001],{"class":141,"line":169},[139,3002,3003],{"class":145},"# Права на папку .ssh\n",[139,3005,3006,3008,3010],{"class":141,"line":181},[139,3007,2983],{"class":152},[139,3009,2986],{"class":197},[139,3011,3012],{"class":220}," /home/ubuntu/.ssh\n",[139,3014,3015],{"class":141,"line":186},[139,3016,3017],{"class":145},"# Ожидается: drwx------ (700)\n",[139,3019,3020],{"class":141,"line":192},[139,3021,160],{"emptyLinePlaceholder":159},[139,3023,3024],{"class":141,"line":201},[139,3025,3026],{"class":145},"# Права на файл authorized_keys\n",[139,3028,3029,3031,3033],{"class":141,"line":206},[139,3030,2983],{"class":152},[139,3032,753],{"class":197},[139,3034,3035],{"class":220}," /home/ubuntu/.ssh/authorized_keys\n",[139,3037,3038],{"class":141,"line":212},[139,3039,3040],{"class":145},"# Ожидается: -rw------- (600)\n",[2596,3042],{},"Если права шире, исправьте:",[130,3045,3047],{"className":132,"code":3046,"language":134,"meta":135,"style":135},"sudo chmod 700 /home/ubuntu/.ssh\nsudo chmod 600 /home/ubuntu/.ssh/authorized_keys\nsudo chown -R ubuntu:ubuntu /home/ubuntu/.ssh\n",[43,3048,3049,3061,3072],{"__ignoreMap":135},[139,3050,3051,3053,3056,3059],{"class":141,"line":142},[139,3052,80],{"class":152},[139,3054,3055],{"class":220}," chmod",[139,3057,3058],{"class":197}," 700",[139,3060,3012],{"class":220},[139,3062,3063,3065,3067,3070],{"class":141,"line":149},[139,3064,80],{"class":152},[139,3066,3055],{"class":220},[139,3068,3069],{"class":197}," 600",[139,3071,3035],{"class":220},[139,3073,3074,3076,3079,3082,3085],{"class":141,"line":156},[139,3075,80],{"class":152},[139,3077,3078],{"class":220}," chown",[139,3080,3081],{"class":197}," -R",[139,3083,3084],{"class":220}," ubuntu:ubuntu",[139,3086,3012],{"class":220},[17,3088,3090],{"id":3089},"шаг-4-проверка-правил-брандмауэра-и-selinuxapparmor","Шаг 4: Проверка правил брандмауэра и SELinux/AppArmor",[22,3092,3093],{},"Брандмауэр на сервере может блокировать входящие соединения на порт 22.",[70,3095,3096,3298],{},[29,3097,3098,3101],{},[32,3099,3100],{},"Проверьте активные правила:",[26,3102,3103,3164,3216],{},[29,3104,3105,3108,3109,3124,3125,535,3128,3131,3132,535,3134,3137,3138],{},[32,3106,3107],{},"firewalld"," (RHEL/CentOS 7+, Fedora):\n",[130,3110,3112],{"className":132,"code":3111,"language":134,"meta":135,"style":135},"sudo firewall-cmd --list-all\n",[43,3113,3114],{"__ignoreMap":135},[139,3115,3116,3118,3121],{"class":141,"line":142},[139,3117,80],{"class":152},[139,3119,3120],{"class":220}," firewall-cmd",[139,3122,3123],{"class":197}," --list-all\n","\nВ выводе в секции ",[43,3126,3127],{},"services:",[43,3129,3130],{},"ports:"," должна быть строка ",[43,3133,2536],{},[43,3135,3136],{},"22/tcp",". Если нет, добавьте:\n",[130,3139,3141],{"className":132,"code":3140,"language":134,"meta":135,"style":135},"sudo firewall-cmd --permanent --add-service=ssh\nsudo firewall-cmd --reload\n",[43,3142,3143,3155],{"__ignoreMap":135},[139,3144,3145,3147,3149,3152],{"class":141,"line":142},[139,3146,80],{"class":152},[139,3148,3120],{"class":220},[139,3150,3151],{"class":197}," --permanent",[139,3153,3154],{"class":197}," --add-service=ssh\n",[139,3156,3157,3159,3161],{"class":141,"line":149},[139,3158,80],{"class":152},[139,3160,3120],{"class":220},[139,3162,3163],{"class":197}," --reload\n",[29,3165,3166,3169,3170,3186,3187,3190,3191],{},[32,3167,3168],{},"ufw"," (Ubuntu/Debian по умолчанию):\n",[130,3171,3173],{"className":132,"code":3172,"language":134,"meta":135,"style":135},"sudo ufw status verbose\n",[43,3174,3175],{"__ignoreMap":135},[139,3176,3177,3179,3182,3184],{"class":141,"line":142},[139,3178,80],{"class":152},[139,3180,3181],{"class":220}," ufw",[139,3183,803],{"class":220},[139,3185,2158],{"class":220},"\nДолжна быть строка ",[43,3188,3189],{},"22/tcp (SSH) ALLOW IN",". Если нет:\n",[130,3192,3194],{"className":132,"code":3193,"language":134,"meta":135,"style":135},"sudo ufw allow ssh\nsudo ufw reload\n",[43,3195,3196,3207],{"__ignoreMap":135},[139,3197,3198,3200,3202,3205],{"class":141,"line":142},[139,3199,80],{"class":152},[139,3201,3181],{"class":220},[139,3203,3204],{"class":220}," allow",[139,3206,2029],{"class":220},[139,3208,3209,3211,3213],{"class":141,"line":149},[139,3210,80],{"class":152},[139,3212,3181],{"class":220},[139,3214,3215],{"class":220}," reload\n",[29,3217,3218,3221,3222,3251,3252,3255,3256,3259,3260],{},[32,3219,3220],{},"iptables"," (legacy):\n",[130,3223,3225],{"className":132,"code":3224,"language":134,"meta":135,"style":135},"sudo iptables -L INPUT -n -v | grep 22\n",[43,3226,3227],{"__ignoreMap":135},[139,3228,3229,3231,3234,3237,3240,3242,3245,3247,3249],{"class":141,"line":142},[139,3230,80],{"class":152},[139,3232,3233],{"class":220}," iptables",[139,3235,3236],{"class":197}," -L",[139,3238,3239],{"class":220}," INPUT",[139,3241,593],{"class":197},[139,3243,3244],{"class":197}," -v",[139,3246,175],{"class":174},[139,3248,414],{"class":152},[139,3250,2706],{"class":197},"\nИщите правило с ",[43,3253,3254],{},"ACCEPT"," для порта 22. Если правил нет или стоит ",[43,3257,3258],{},"DROP",", добавьте:\n",[130,3261,3263],{"className":132,"code":3262,"language":134,"meta":135,"style":135},"sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\n# Сохраните правила в зависимости от дистрибутива (iptables-save, netfilter-persistent)\n",[43,3264,3265,3293],{"__ignoreMap":135},[139,3266,3267,3269,3271,3274,3276,3278,3281,3284,3287,3290],{"class":141,"line":142},[139,3268,80],{"class":152},[139,3270,3233],{"class":220},[139,3272,3273],{"class":197}," -A",[139,3275,3239],{"class":220},[139,3277,335],{"class":197},[139,3279,3280],{"class":220}," tcp",[139,3282,3283],{"class":197}," --dport",[139,3285,3286],{"class":197}," 22",[139,3288,3289],{"class":197}," -j",[139,3291,3292],{"class":220}," ACCEPT\n",[139,3294,3295],{"class":141,"line":149},[139,3296,3297],{"class":145},"# Сохраните правила в зависимости от дистрибутива (iptables-save, netfilter-persistent)\n",[29,3299,3300,3303],{},[32,3301,3302],{},"Проверьте SELinux (RHEL/CentOS/Fedora) или AppArmor (Ubuntu/Debian):",[26,3304,3305,3371],{},[29,3306,3307,3310,3319,3320,3323,3324,3327,3328,3342,3343,3346,3347,2878,3350,3353,3354],{},[32,3308,3309],{},"SELinux:",[130,3311,3313],{"className":132,"code":3312,"language":134,"meta":135,"style":135},"getenforce\n",[43,3314,3315],{"__ignoreMap":135},[139,3316,3317],{"class":141,"line":142},[139,3318,3312],{"class":152},"\nЕсли ",[43,3321,3322],{},"Enforcing",", проверьте контекст безопасности папки ",[43,3325,3326],{},".ssh",":\n",[130,3329,3331],{"className":132,"code":3330,"language":134,"meta":135,"style":135},"ls -laZ /home/ubuntu/.ssh\n",[43,3332,3333],{"__ignoreMap":135},[139,3334,3335,3337,3340],{"class":141,"line":142},[139,3336,2983],{"class":152},[139,3338,3339],{"class":197}," -laZ",[139,3341,3012],{"class":220},"\nПравильный контекст для домашней директории пользователя — ",[43,3344,3345],{},"unconfined_u:object_r:user_home_t:s0",". Для ",[43,3348,3349],{},"authorized_keys",[43,3351,3352],{},"ssh_home_t",". Если контекст неправильный, восстановите:\n",[130,3355,3357],{"className":132,"code":3356,"language":134,"meta":135,"style":135},"sudo restorecon -Rv /home/ubuntu/.ssh\n",[43,3358,3359],{"__ignoreMap":135},[139,3360,3361,3363,3366,3369],{"class":141,"line":142},[139,3362,80],{"class":152},[139,3364,3365],{"class":220}," restorecon",[139,3367,3368],{"class":197}," -Rv",[139,3370,3012],{"class":220},[29,3372,3373,3376,3377,3395,3396],{},[32,3374,3375],{},"AppArmor:"," Обычно не мешает SSH, но профиль может быть в режиме enforce. Проверьте:\n",[130,3378,3380],{"className":132,"code":3379,"language":134,"meta":135,"style":135},"sudo aa-status | grep ssh\n",[43,3381,3382],{"__ignoreMap":135},[139,3383,3384,3386,3389,3391,3393],{"class":141,"line":142},[139,3385,80],{"class":152},[139,3387,3388],{"class":220}," aa-status",[139,3390,175],{"class":174},[139,3392,414],{"class":152},[139,3394,2029],{"class":220},"\nЕсли есть проблемы, попробуйте перевести профиль в complain-режим для теста:\n",[130,3397,3399],{"className":132,"code":3398,"language":134,"meta":135,"style":135},"sudo aa-complain /etc/apparmor.d/usr.sbin.sshd\n",[43,3400,3401],{"__ignoreMap":135},[139,3402,3403,3405,3408],{"class":141,"line":142},[139,3404,80],{"class":152},[139,3406,3407],{"class":220}," aa-complain",[139,3409,3410],{"class":220}," /etc/apparmor.d/usr.sbin.sshd\n",[512,3412],{},[17,3414,3416],{"id":3415},"шаг-5-диагностика-клиентской-стороны-и-ключей","Шаг 5: Диагностика клиентской стороны и ключей",[22,3418,3419],{},"Если сервер в порядке, проблема может быть на стороне клиента.",[70,3421,3422,3460,3492,3536,3628],{},[29,3423,3424,3427],{},[32,3425,3426],{},"Убедитесь, что вы используете правильного пользователя и хост:",[130,3428,3430],{"className":132,"code":3429,"language":134,"meta":135,"style":135},"# Базовая команда\nssh user@server_ip\n# Если используется нестандартный порт\nssh -p 2222 user@server_ip\n",[43,3431,3432,3437,3444,3449],{"__ignoreMap":135},[139,3433,3434],{"class":141,"line":142},[139,3435,3436],{"class":145},"# Базовая команда\n",[139,3438,3439,3441],{"class":141,"line":149},[139,3440,2536],{"class":152},[139,3442,3443],{"class":220}," user@server_ip\n",[139,3445,3446],{"class":141,"line":156},[139,3447,3448],{"class":145},"# Если используется нестандартный порт\n",[139,3450,3451,3453,3455,3458],{"class":141,"line":163},[139,3452,2536],{"class":152},[139,3454,335],{"class":197},[139,3456,3457],{"class":197}," 2222",[139,3459,3443],{"class":220},[29,3461,3462,3465,3479,294,3481,3484,3485,298,3488,3491],{},[32,3463,3464],{},"Включите подробное логирование на клиенте:",[130,3466,3468],{"className":132,"code":3467,"language":134,"meta":135,"style":135},"ssh -vvv user@server_ip\n",[43,3469,3470],{"__ignoreMap":135},[139,3471,3472,3474,3477],{"class":141,"line":142},[139,3473,2536],{"class":152},[139,3475,3476],{"class":197}," -vvv",[139,3478,3443],{"class":220},[2596,3480],{},[43,3482,3483],{},"-v"," (до трёх) покажут всю цепочку: попытку аутентификации по ключу, паролю, GSSAPI. Ищите строки ",[43,3486,3487],{},"debug1: Authentications that can continue:",[43,3489,3490],{},"debug1: Offering public key: ...",". Если ваш ключ не предлагается, проблема в его расположении или правах. Если предлагается, но сервер отказывает — смотрите логи сервера (Шаг 2).",[29,3493,3494,3497,3512,3514,3515,3518,3519,1239,3522,3525,3526,2878,3528,3531,3532,3535],{},[32,3495,3496],{},"Проверьте права на локальные файлы ключей:",[130,3498,3500],{"className":132,"code":3499,"language":134,"meta":135,"style":135},"ls -la ~/.ssh/\n",[43,3501,3502],{"__ignoreMap":135},[139,3503,3504,3506,3509],{"class":141,"line":142},[139,3505,2983],{"class":152},[139,3507,3508],{"class":197}," -la",[139,3510,3511],{"class":220}," ~/.ssh/\n",[2596,3513],{},"Права на приватный ключ (например, ",[43,3516,3517],{},"id_rsa",") должны быть ",[32,3520,3521],{},"600",[43,3523,3524],{},"-rw-------","). На папку ",[43,3527,3326],{},[32,3529,3530],{},"700",". На публичный ключ (",[43,3533,3534],{},"id_rsa.pub",") — 644 допустим, но лучше 600.",[29,3537,3538,3541,3542,3554,3556,3557,3560,3561,3564,3565],{},[32,3539,3540],{},"Убедитесь, что публичный ключ добавлен на сервер:","\nНа клиенте покажите содержимое публичного ключа:",[130,3543,3545],{"className":132,"code":3544,"language":134,"meta":135,"style":135},"cat ~/.ssh/id_rsa.pub\n",[43,3546,3547],{"__ignoreMap":135},[139,3548,3549,3551],{"class":141,"line":142},[139,3550,102],{"class":152},[139,3552,3553],{"class":220}," ~/.ssh/id_rsa.pub\n",[2596,3555],{},"Скопируйте вывод и сравните с содержимым файла ",[43,3558,3559],{},"~/.ssh/authorized_keys"," на сервере. Строка должна совпадать ",[32,3562,3563],{},"полностью"," (без лишних пробелов или переносов). Лучше всего перезаписать ключ на сервер:",[130,3566,3568],{"className":132,"code":3567,"language":134,"meta":135,"style":135},"# На клиенте (копируем ключ в буфер обмена)\ncat ~/.ssh/id_rsa.pub | xclip -selection clipboard  # для Linux с xclip\n# Или просто откройте файл и скопируйте вручную.\n\n# На сервере (через консоль)\necho \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...\" >> /home/ubuntu/.ssh/authorized_keys\n# Замените ... на реальную строку ключа. Убедитесь, что ключ добавляется с новой строки.\n",[43,3569,3570,3575,3596,3601,3605,3610,3623],{"__ignoreMap":135},[139,3571,3572],{"class":141,"line":142},[139,3573,3574],{"class":145},"# На клиенте (копируем ключ в буфер обмена)\n",[139,3576,3577,3579,3582,3584,3587,3590,3593],{"class":141,"line":149},[139,3578,102],{"class":152},[139,3580,3581],{"class":220}," ~/.ssh/id_rsa.pub",[139,3583,175],{"class":174},[139,3585,3586],{"class":152}," xclip",[139,3588,3589],{"class":197}," -selection",[139,3591,3592],{"class":220}," clipboard",[139,3594,3595],{"class":145},"  # для Linux с xclip\n",[139,3597,3598],{"class":141,"line":156},[139,3599,3600],{"class":145},"# Или просто откройте файл и скопируйте вручную.\n",[139,3602,3603],{"class":141,"line":163},[139,3604,160],{"emptyLinePlaceholder":159},[139,3606,3607],{"class":141,"line":169},[139,3608,3609],{"class":145},"# На сервере (через консоль)\n",[139,3611,3612,3615,3618,3621],{"class":141,"line":181},[139,3613,3614],{"class":197},"echo",[139,3616,3617],{"class":220}," \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...\"",[139,3619,3620],{"class":174}," >>",[139,3622,3035],{"class":220},[139,3624,3625],{"class":141,"line":186},[139,3626,3627],{"class":145},"# Замените ... на реальную строку ключа. Убедитесь, что ключ добавляется с новой строки.\n",[29,3629,3630,3633,3634],{},[32,3631,3632],{},"Проверьте, не блокирует ли вас fail2ban или аналоги:","\nЕсли вы многократно пытались подключиться с неверным паролем/ключом, IP мог быть заблокирован.",[130,3635,3637],{"className":132,"code":3636,"language":134,"meta":135,"style":135},"sudo fail2ban-client status sshd\nsudo fail2ban-client set sshd unbanip \u003Cваш_клиентский_IP>\n",[43,3638,3639,3650],{"__ignoreMap":135},[139,3640,3641,3643,3646,3648],{"class":141,"line":142},[139,3642,80],{"class":152},[139,3644,3645],{"class":220}," fail2ban-client",[139,3647,803],{"class":220},[139,3649,2949],{"class":220},[139,3651,3652,3654,3656,3659,3662,3665,3667,3670,3673],{"class":141,"line":149},[139,3653,80],{"class":152},[139,3655,3645],{"class":220},[139,3657,3658],{"class":220}," set",[139,3660,3661],{"class":220}," sshd",[139,3663,3664],{"class":220}," unbanip",[139,3666,806],{"class":174},[139,3668,3669],{"class":220},"ваш_клиентский_I",[139,3671,3672],{"class":812},"P",[139,3674,816],{"class":174},[17,3676,1142],{"id":1141},[22,3678,3679],{},"После применения всех необходимых исправлений попробуйте подключиться снова с обычной командой:",[130,3681,3683],{"className":132,"code":3682,"language":134,"meta":135,"style":135},"ssh user@server_ip\n",[43,3684,3685],{"__ignoreMap":135},[139,3686,3687,3689],{"class":141,"line":142},[139,3688,2536],{"class":152},[139,3690,3443],{"class":220},[22,3692,3693,3694,3697,3698,46],{},"Если используется нестандартный порт, не забудьте флаг ",[43,3695,3696],{},"-p",". Успешное подключение завершится приглашением командной строки сервера (",[43,3699,3700],{},"user@server_ip:~$",[22,3702,3703],{},[32,3704,3705],{},"Критерии успеха:",[26,3707,3708,3711,3714],{},[29,3709,3710],{},"Соединение установлено.",[29,3712,3713],{},"Вы видите приглашение оболочки (bash, zsh) удалённого сервера.",[29,3715,3716,3717,103,3719,535,3721,96],{},"Никаких сообщений об ошибках ",[43,3718,1220],{},[43,3720,2716],{},[43,3722,3723],{},"Connection timed out",[17,3725,1191],{"id":1190},[26,3727,3728,3746,3770,3802,3834],{},[29,3729,3730,3735],{},[32,3731,3732],{},[43,3733,3734],{},"ssh: connect to host ... port 22: Connection timed out",[26,3736,3737],{},[29,3738,3739,3741,3742,3745],{},[32,3740,2308],{}," Сетевой пакет не доходит. Проверьте ping, маршрутизацию (",[43,3743,3744],{},"traceroute","), правила облачного Security Group и локального/промежуточного брандмауэра.",[29,3747,3748,3753],{},[32,3749,3750],{},[43,3751,3752],{},"ssh: connect to host ... port 22: Connection refused",[26,3754,3755],{},[29,3756,3757,3759,3760,3762,3763,3766,3767,46],{},[32,3758,2308],{}," SSH-демон не слушает порт 22 на внешнем интерфейсе. Проверьте ",[43,3761,2672],{}," (параметр ",[43,3764,3765],{},"ListenAddress",") и убедитесь, что демон запущен (",[43,3768,3769],{},"sudo systemctl status sshd",[29,3771,3772,3777],{},[32,3773,3774],{},[43,3775,3776],{},"Permission denied (publickey,password).",[26,3778,3779],{},[29,3780,3781,3783,3784,3786,3787,298,3790,3792,3793,3795,3796,535,3799,46],{},[32,3782,2308],{}," Аутентификация не прошла. Проверьте логи сервера (",[43,3785,544],{},"). Убедитесь в правильности ключа, прав на ",[43,3788,3789],{},"~/.ssh",[43,3791,3349],{},", а также в том, что в ",[43,3794,2672],{}," разрешён нужный метод (",[43,3797,3798],{},"PubkeyAuthentication yes",[43,3800,3801],{},"PasswordAuthentication yes",[29,3803,3804,3809],{},[32,3805,3806],{},[43,3807,3808],{},"Received disconnect from ...: 2: Too many authentication failures",[26,3810,3811],{},[29,3812,3813,3815,3816,3819,3820,3823,3824,3327,3827],{},[32,3814,2308],{}," SSH-клиент предложил слишком много ключей (из ",[43,3817,3818],{},"ssh-agent"," или по умолчанию), и сервер отказал. Решение: явно указать ключ (",[43,3821,3822],{},"ssh -i ~/.ssh/id_rsa user@host",") или отключить агент для этого хоста в ",[43,3825,3826],{},"~/.ssh/config",[130,3828,3832],{"className":3829,"code":3831,"language":1394},[3830],"language-text","Host your-server\n    IdentitiesOnly yes\n    IdentityFile ~/.ssh/id_rsa\n",[43,3833,3831],{"__ignoreMap":135},[29,3835,3836,3841],{},[32,3837,3838],{},[43,3839,3840],{},"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!",[26,3842,3843],{},[29,3844,3845,3847,3848,3851,3852,3855],{},[32,3846,2308],{}," Изменился fingerprint хоста (сервер переустановлен, IP перешёл к другому владельцу). ",[32,3849,3850],{},"Не игнорируйте это предупреждение!"," Удалите старую запись из ",[43,3853,3854],{},"~/.ssh/known_hosts"," (найдите строку с IP/доменом и удалите её) и подключитесь заново.",[17,3857,3859],{"id":3858},"дополнительные-ресурсы","Дополнительные ресурсы",[26,3861,3862,3870,3885,3893,3904,3912],{},[29,3863,3864,3869],{},[32,3865,3866],{},[43,3867,3868],{},"man sshd_config"," — официальная документация по конфигурационному файлу демона.",[29,3871,3872,3877,3878,103,3880,103,3883,46],{},[32,3873,3874],{},[43,3875,3876],{},"man ssh"," — документация по клиенту и его параметрам (",[43,3879,3483],{},[43,3881,3882],{},"-i",[43,3884,3696],{},[29,3886,3887,3892],{},[32,3888,3889],{},[43,3890,3891],{},"man ssh-keygen"," — управление SSH-ключами (генерация, конвертация).",[29,3894,3895,1153,3898],{},[32,3896,3897],{},"Документация OpenSSH:",[3899,3900,3901],"a",{"href":3901,"rel":3902},"https://www.openssh.com/manual.html",[3903],"nofollow",[29,3905,3906,1153,3909],{},[32,3907,3908],{},"Гайд по усилению безопасности SSH:",[43,3910,3911],{},"/guides/linux/openssh-hardening",[29,3913,3914,1153,3917],{},[32,3915,3916],{},"Устранение неполадок с firewall в Linux:",[43,3918,3919],{},"/guides/linux/firewall-configuration",[1300,3921,3922],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":135,"searchDepth":149,"depth":149,"links":3924},[3925,3926,3927,3928,3929,3930,3931,3932,3933,3934],{"id":19,"depth":149,"text":20},{"id":64,"depth":149,"text":65},{"id":2564,"depth":149,"text":2565},{"id":2733,"depth":149,"text":2734},{"id":2828,"depth":149,"text":2829},{"id":3089,"depth":149,"text":3090},{"id":3415,"depth":149,"text":3416},{"id":1141,"depth":149,"text":1142},{"id":1190,"depth":149,"text":1191},{"id":3858,"depth":149,"text":3859},"2026-02-16 19:54:54","Не можете подключиться к серверу по SSH? Наше пошаговое руководство поможет диагностировать и исправить ошибки за 15 минут. Проверенные решения для Linux.",[3938,3941,3944],{"question":3939,"answer":3940},"Что делать, если ssh выдает 'Permission denied (publickey)'?","Эта ошибка означает, что сервер не принял ваш SSH-ключ. Убедитесь, что публичный ключ (`~/.ssh/id_rsa.pub`) присутствует в файле `~/.ssh/authorized_keys` на сервере и права на файлы и папку строгие (700 на ~/.ssh, 600 на authorized_keys).",{"question":3942,"answer":3943},"Порт 22 закрыт, но я уверен, что демон sshd работает. В чём проблема?","Скорее всего, брандмауэр (firewalld, ufw, iptables) блокирует порт. Проверьте активные правила (`sudo firewall-cmd --list-all` для firewalld или `sudo ufw status` для ufw) и откройте порт 22/tcp.",{"question":3945,"answer":3946},"Можно ли использовать SSH без пароля, но с ключом, если у меня нет прав суперпользователя на сервере?","Да, если администратор сервера добавил ваш публичный ключ в `authorized_keys` для вашего пользователя. Ваша локальная side (клиент) должна иметь приватный ключ, и права на `~/.ssh` и ключи должны быть корректными (600/700).",[3948,3951,3954,3957,3960],{"name":3949,"text":3950},"Проверка базовой сетевой доступности","Убедитесь, что сервер доступен по сети и слушает нужный порт. Используйте `ping` и `nc` (netcat) для проверки.",{"name":3952,"text":3953},"Анализ логов SSH-демона на сервере","Подключитесь к консоли сервера (KVM, IPMI) или посмотрите логи через систему мониторинга. Изучите `/var/log/auth.log` (Debian/Ubuntu) или `/var/log/secure` (RHEL/CentOS) на предмет ошибок аутентификации.",{"name":3955,"text":3956},"Валидация конфигурации SSH-демона и прав доступа","Проверьте основные настройки в `/etc/ssh/sshd_config` (например, `PasswordAuthentication`, `PubkeyAuthentication`, `PermitRootLogin`). Убедитесь в корректности прав на домашнюю директорию пользователя и папку `~/.ssh`.",{"name":3958,"text":3959},"Проверка правил брандмауэра и SELinux/AppArmor","Убедитесь, что порт SSH (по умолчанию 22) открыт в брандмауэре. Проверьте статус SELinux (`getenforce`) или AppArmor, они могут блокировать доступ.",{"name":3961,"text":3962},"Диагностика клиентской стороны и ключей","Проверьте, что клиент использует правильный ключ (`ssh -i /путь/к/ключу`) и пользователя. Убедитесь, что приватный ключ имеет права 600. Включите подробное логирование на клиенте (`ssh -vvv`).",[3964,3965,3966,3967,3968,3969,3970,3971],"ssh не подключается linux","ошибка ssh connection refused","ssh permission denied publickey","как исправить ssh timeout","диагностика ssh linux","ssh ошибка 22 порт","настройка ssh сервера ubuntu","проблемы с ssh ключом",{},[3911,3974,3919],"/errors/linux/ssh-connection-timeout",{"title":2492,"description":3936},"guides/linux/ssh-troubleshooting","Этот гайд предоставляет системный подход к диагностике и устранению распространённых проблем с SSH-подключениями в Linux. Вы научитесь проверять сетевую доступность, настройки демона, аутентификацию и брандмауэр, чтобы быстро восстановить доступ к удалённым серверам.",[3979,2536,3980,3981,3982],"гайды linux","сетевая безопасность","администрирование","troubleshooting","-5pHXTs4737cbEibuJTuw_YkMaOCpaq4JkdOXaO2Ws8",{"id":3985,"title":3986,"appliesTo":3987,"author":12,"body":3993,"canonical":1316,"code":2716,"createdAt":5252,"description":5253,"difficulty":1319,"draft":1320,"estimatedTime":2438,"extension":1322,"faq":5254,"howToSteps":5267,"howToTotalTime":5283,"image":1316,"keywords":5284,"locale":1362,"meta":5293,"navigation":159,"path":1369,"platform":1365,"related":5294,"section":5298,"seo":5299,"severity":5300,"stem":5301,"summary":5302,"tags":5303,"twitterCreator":1316,"twitterSite":1316,"type":2283,"updatedAt":5252,"__hash__":5307},"content_ru/errors/linux/ssh-connection-refused.md","SSH Connection Refused: причины и 5 способов исправить ошибку",[3988,3989,3990,3991,3992],"Ubuntu 20.04/22.04","Debian 11/12","CentOS 7/8/Rocky 8/9","RHEL 8/9","Any Linux with OpenSSH server",{"type":14,"value":3994,"toc":5229},[3995,3999,4016,4019,4045,4049,4052,4147,4151,4154,4238,4242,4247,4404,4408,4411,4419,4433,4490,4496,4508,4561,4570,4576,4600,4679,4685,4690,4800,4804,4808,4814,4844,4847,4877,4888,4892,4909,4923,4946,4950,4953,4968,4972,5027,5029,5033,5036,5201,5226],[17,3996,3998],{"id":3997},"что-означает-ошибка-ssh-connection-refused","Что означает ошибка \"SSH Connection refused\"",[22,4000,2295,4001,4004,4005,4008,4009,4011,4012,4015],{},[43,4002,4003],{},"ssh: connect to host \u003CIP> port 22: Connection refused"," — это сообщение от клиента SSH, которое означает, что сервер ",[32,4006,4007],{},"активно отклонил"," попытку TCP-соединения на порту 22 (или другом указанном порту). В отличие от ",[43,4010,3723],{}," (где пакеты просто теряются), ",[43,4013,4014],{},"refused"," — это прямой ответ от ядра операционной системы сервера: \"служба на этом порту не доступна\".",[22,4017,4018],{},"Симптомы:",[26,4020,4021,4030,4039],{},[29,4022,390,4023,4026,4027,4029],{},[43,4024,4025],{},"ssh user@server_ip"," завершается с ошибкой ",[43,4028,2716],{}," практически мгновенно.",[29,4031,4032,4033,4036,4037,96],{},"Утилита ",[43,4034,4035],{},"telnet server_ip 22"," также показывает ",[43,4038,2716],{},[29,4040,4041,4042,4044],{},"Пинг (",[43,4043,2551],{},") до сервера, как правило, проходит успешно, так как проблема на транспортном (TCP) уровне, а не сетевом (ICMP).",[17,4046,4048],{"id":4047},"причины-возникновения","Причины возникновения",[22,4050,4051],{},"Ошибка возникает на стороне сервера. Основные причины:",[70,4053,4054,4064,4077,4087,4099,4125,4134],{},[29,4055,4056,4063],{},[32,4057,4058,4059,4062],{},"Служба SSH (",[43,4060,4061],{},"sshd",") не запущена."," Это самая частая причина. Демон просто не слушает никакие порты.",[29,4065,4066,4072,4073,4076],{},[32,4067,4068,4069,46],{},"SSH-демон слушает только локальный интерфейс (",[43,4070,4071],{},"127.0.0.1"," В конфигурации может быть указан ",[43,4074,4075],{},"ListenAddress 127.0.0.1",", что разрешает подключения только с самого сервера.",[29,4078,4079,4082,4083,4086],{},[32,4080,4081],{},"Фаервол (брандмауэр) блокирует порт."," Правило фаервола может быть настроено на ",[43,4084,4085],{},"REJECT"," (активный отказ) для порта 22 с вашего IP или для всех.",[29,4088,4089,4092,4093,4095,4096,4098],{},[32,4090,4091],{},"Другой процесс уже использует порт 22."," Реже, но возможно, что другой сервис (например, старый ",[43,4094,4061],{}," или другой демон) занял порт 22, и новый ",[43,4097,4061],{}," не может его занять.",[29,4100,4101,4106,4107,103,4109,103,4112,103,4114,535,4117,4120,4121,4124],{},[32,4102,4103,4104,96],{},"Конфигурационные ограничения в ",[43,4105,2672],{}," Директивы ",[43,4108,2914],{},[43,4110,4111],{},"DenyUsers",[43,4113,2918],{},[43,4115,4116],{},"DenyGroups",[43,4118,4119],{},"Match","-блоки могут запрещать подключение для вашего пользователя или IP-адреса, что может приводить к отказу ",[882,4122,4123],{},"после"," установки соединения, но иногда и на этапе handshake.",[29,4126,4127,4130,4131,4133],{},[32,4128,4129],{},"Проблемы с SELinux/AppArmor."," Системы mandatory access control могут запрещать ",[43,4132,4061],{}," слушать сетевой порт или принимать соединения.",[29,4135,4136,4139,4140,4143,4144,96],{},[32,4137,4138],{},"Сервер за NAT/ балансировщиком, а проброс портов не настроен."," Клиент пытается подключиться к публичному IP, но пакеты не доходят до внутреннего сервера, а маршрутизатор сам отвечает ",[43,4141,4142],{},"RST"," (reset) или ",[43,4145,4146],{},"ICMP port unreachable",[17,4148,4150],{"id":4149},"способ-1-проверка-и-запуск-службы-ssh","Способ 1: Проверка и запуск службы SSH",[22,4152,4153],{},"Первым делом убедитесь, что служба работает.",[70,4155,4156,4192,4212,4232],{},[29,4157,4158,4161,4176],{},[32,4159,4160],{},"Проверьте статус службы:",[130,4162,4164],{"className":132,"code":4163,"language":134,"meta":135,"style":135},"sudo systemctl status sshd\n",[43,4165,4166],{"__ignoreMap":135},[139,4167,4168,4170,4172,4174],{"class":141,"line":142},[139,4169,80],{"class":152},[139,4171,1736],{"class":220},[139,4173,803],{"class":220},[139,4175,2949],{"class":220},[26,4177,4178,4184],{},[29,4179,4180,4181,4183],{},"Если статус ",[43,4182,2258],{}," — служба работает, переходите к следующему способу.",[29,4185,4180,4186,535,4189,4191],{},[43,4187,4188],{},"inactive (dead)",[43,4190,2237],{}," — служба не запущена.",[29,4193,4194,4197],{},[32,4195,4196],{},"Запустите службу:",[130,4198,4200],{"className":132,"code":4199,"language":134,"meta":135,"style":135},"sudo systemctl start sshd\n",[43,4201,4202],{"__ignoreMap":135},[139,4203,4204,4206,4208,4210],{"class":141,"line":142},[139,4205,80],{"class":152},[139,4207,1736],{"class":220},[139,4209,1739],{"class":220},[139,4211,2949],{"class":220},[29,4213,4214,4217],{},[32,4215,4216],{},"Включите автозагрузку (чтобы служба запускалась после перезагрузки):",[130,4218,4220],{"className":132,"code":4219,"language":134,"meta":135,"style":135},"sudo systemctl enable sshd\n",[43,4221,4222],{"__ignoreMap":135},[139,4223,4224,4226,4228,4230],{"class":141,"line":142},[139,4225,80],{"class":152},[139,4227,1736],{"class":220},[139,4229,1859],{"class":220},[139,4231,2949],{"class":220},[29,4233,4234,4237],{},[32,4235,4236],{},"Попробуйте подключиться снова."," Если ошибка осталась, проверьте, на каком порту служит служба (Способ 2).",[17,4239,4241],{"id":4240},"способ-2-проверка-на-каком-порту-и-интерфейсе-служит-ssh","Способ 2: Проверка, на каком порту и интерфейсе служит SSH",[22,4243,4244,4245,96],{},"Узнайте, какие порты и сетевые интерфейсы слушает ",[43,4246,4061],{},[70,4248,4249,4327],{},[29,4250,4251,4260,4297,4299,4300,4306],{},[32,4252,4253,4254,535,4256,4259],{},"Используйте ",[43,4255,2557],{},[43,4257,4258],{},"netstat",":",[130,4261,4263],{"className":132,"code":4262,"language":134,"meta":135,"style":135},"sudo ss -tlnp | grep sshd\n# или\nsudo netstat -tlnp | grep sshd\n",[43,4264,4265,4279,4283],{"__ignoreMap":135},[139,4266,4267,4269,4271,4273,4275,4277],{"class":141,"line":142},[139,4268,80],{"class":152},[139,4270,2625],{"class":220},[139,4272,2628],{"class":197},[139,4274,175],{"class":174},[139,4276,414],{"class":152},[139,4278,2949],{"class":220},[139,4280,4281],{"class":141,"line":149},[139,4282,693],{"class":145},[139,4284,4285,4287,4289,4291,4293,4295],{"class":141,"line":156},[139,4286,80],{"class":152},[139,4288,2647],{"class":220},[139,4290,2628],{"class":197},[139,4292,175],{"class":174},[139,4294,414],{"class":152},[139,4296,2949],{"class":220},[2596,4298],{},"Пример вывода для корректной настройки:",[130,4301,4304],{"className":4302,"code":4303,"language":1394},[3830],"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",[43,4305,4303],{"__ignoreMap":135},[26,4307,4308,4313,4319],{},[29,4309,4310,4312],{},[43,4311,2661],{}," — слушает на всех IPv4-интерфейсах.",[29,4314,4315,4318],{},[43,4316,4317],{},"[::]:22"," — слушает на всех IPv6-интерфейсах.",[29,4320,4321,4323,4324],{},[43,4322,2668],{}," — слушает только локальный интерфейс (loopback). ",[32,4325,4326],{},"В этом случае внешние подключения невозможны.",[29,4328,4329,4335,4340,4355,4376,4391],{},[32,4330,4331,4332,4334],{},"Если слушает только ",[43,4333,4071],{},", исправьте конфигурацию:",[26,4336,4337],{},[29,4338,4339],{},"Откройте файл конфигурации SSH-сервера:",[130,4341,4343],{"className":132,"code":4342,"language":134,"meta":135,"style":135},"sudo nano /etc/ssh/sshd_config\n",[43,4344,4345],{"__ignoreMap":135},[139,4346,4347,4349,4352],{"class":141,"line":142},[139,4348,80],{"class":152},[139,4350,4351],{"class":220}," nano",[139,4353,4354],{"class":220}," /etc/ssh/sshd_config\n",[26,4356,4357,4373],{},[29,4358,4359,4360,2413,4363,4366,4367,4370,4371,96],{},"Найдите строку ",[43,4361,4362],{},"#ListenAddress 0.0.0.0",[43,4364,4365],{},"ListenAddress ::","). Раскомментируйте её (удалите ",[43,4368,4369],{},"#",") или добавьте, если её нет. Убедитесь, что нет строк ",[43,4372,4075],{},[29,4374,4375],{},"Сохраните файл и перезапустите службу:",[130,4377,4379],{"className":132,"code":4378,"language":134,"meta":135,"style":135},"sudo systemctl restart sshd\n",[43,4380,4381],{"__ignoreMap":135},[139,4382,4383,4385,4387,4389],{"class":141,"line":142},[139,4384,80],{"class":152},[139,4386,1736],{"class":220},[139,4388,1788],{"class":220},[139,4390,2949],{"class":220},[26,4392,4393],{},[29,4394,4395,4396,4398,4399,4401,4402,96],{},"Проверьте вывод ",[43,4397,2557],{}," снова — теперь должны быть ",[43,4400,2661],{}," и/или ",[43,4403,4317],{},[17,4405,4407],{"id":4406},"способ-3-проверка-и-настройка-фаервола","Способ 3: Проверка и настройка фаервола",[22,4409,4410],{},"Фаервол может блокировать входящие соединения на порт 22.",[4412,4413,4415,4416,4418],"h3",{"id":4414},"для-ufw-ubuntudebian-по-умолчанию","Для ",[43,4417,3168],{}," (Ubuntu/Debian по умолчанию)",[130,4420,4421],{"className":132,"code":3172,"language":134,"meta":135,"style":135},[43,4422,4423],{"__ignoreMap":135},[139,4424,4425,4427,4429,4431],{"class":141,"line":142},[139,4426,80],{"class":152},[139,4428,3181],{"class":220},[139,4430,803],{"class":220},[139,4432,2158],{"class":220},[26,4434,4435,4477,4484],{},[29,4436,4180,4437,4440,4441,2413,4443,4445,4446],{},[43,4438,4439],{},"Status: active",", проверьте, есть ли правило для ",[43,4442,3136],{},[43,4444,2536],{},"). Если нет, добавьте:\n",[130,4447,4449],{"className":132,"code":4448,"language":134,"meta":135,"style":135},"sudo ufw allow ssh\n# или явно по порту\nsudo ufw allow 22/tcp\n",[43,4450,4451,4461,4466],{"__ignoreMap":135},[139,4452,4453,4455,4457,4459],{"class":141,"line":142},[139,4454,80],{"class":152},[139,4456,3181],{"class":220},[139,4458,3204],{"class":220},[139,4460,2029],{"class":220},[139,4462,4463],{"class":141,"line":149},[139,4464,4465],{"class":145},"# или явно по порту\n",[139,4467,4468,4470,4472,4474],{"class":141,"line":156},[139,4469,80],{"class":152},[139,4471,3181],{"class":220},[139,4473,3204],{"class":220},[139,4475,4476],{"class":220}," 22/tcp\n",[29,4478,4479,4480,4483],{},"Если правило есть, но с ограничением по IP (",[43,4481,4482],{},"22/tcp ALLOW IN 192.168.1.100","), убедитесь, что ваш IP входит в список.",[29,4485,4486,4487,96],{},"Перезагрузите фаервол: ",[43,4488,4489],{},"sudo ufw reload",[4412,4491,4415,4493,4495],{"id":4492},"для-firewalld-rhelcentosrockyfedora",[43,4494,3107],{}," (RHEL/CentOS/Rocky/Fedora)",[130,4497,4498],{"className":132,"code":3111,"language":134,"meta":135,"style":135},[43,4499,4500],{"__ignoreMap":135},[139,4501,4502,4504,4506],{"class":141,"line":142},[139,4503,80],{"class":152},[139,4505,3120],{"class":220},[139,4507,3123],{"class":197},[26,4509,4510,4522,4555],{},[29,4511,4512,4513,535,4515,4517,4518,535,4520,96],{},"В разделе ",[43,4514,3127],{},[43,4516,3130],{}," должно быть ",[43,4519,2536],{},[43,4521,3136],{},[29,4523,4524,4525],{},"Если нет, добавьте правило на постоянной основе:\n",[130,4526,4528],{"className":132,"code":4527,"language":134,"meta":135,"style":135},"sudo firewall-cmd --permanent --add-service=ssh\n# или\nsudo firewall-cmd --permanent --add-port=22/tcp\n",[43,4529,4530,4540,4544],{"__ignoreMap":135},[139,4531,4532,4534,4536,4538],{"class":141,"line":142},[139,4533,80],{"class":152},[139,4535,3120],{"class":220},[139,4537,3151],{"class":197},[139,4539,3154],{"class":197},[139,4541,4542],{"class":141,"line":149},[139,4543,693],{"class":145},[139,4545,4546,4548,4550,4552],{"class":141,"line":156},[139,4547,80],{"class":152},[139,4549,3120],{"class":220},[139,4551,3151],{"class":197},[139,4553,4554],{"class":197}," --add-port=22/tcp\n",[29,4556,4557,4558,96],{},"Примените изменения: ",[43,4559,4560],{},"sudo firewall-cmd --reload",[4412,4562,4415,4564,1265,4566,4569],{"id":4563},"для-iptablesnftables-базовый-стек",[43,4565,3220],{},[43,4567,4568],{},"nftables"," (базовый стек)",[22,4571,4572,4573,4259],{},"Просмотрите цепочку ",[43,4574,4575],{},"INPUT",[130,4577,4578],{"className":132,"code":3224,"language":134,"meta":135,"style":135},[43,4579,4580],{"__ignoreMap":135},[139,4581,4582,4584,4586,4588,4590,4592,4594,4596,4598],{"class":141,"line":142},[139,4583,80],{"class":152},[139,4585,3233],{"class":220},[139,4587,3236],{"class":197},[139,4589,3239],{"class":220},[139,4591,593],{"class":197},[139,4593,3244],{"class":197},[139,4595,175],{"class":174},[139,4597,414],{"class":152},[139,4599,2706],{"class":197},[26,4601,4602,4617,4651],{},[29,4603,4604,4605,535,4607,4609,4610,4613,4614,4616],{},"Ищите правило с ",[43,4606,4085],{},[43,4608,3258],{}," для порта 22. Если такое правило есть ",[32,4611,4612],{},"выше"," правила ",[43,4615,3254],{},", оно блокирует трафик.",[29,4618,4619,4620],{},"Чтобы добавить правило разрешения в начало цепочки:\n",[130,4621,4623],{"className":132,"code":4622,"language":134,"meta":135,"style":135},"sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n",[43,4624,4625],{"__ignoreMap":135},[139,4626,4627,4629,4631,4634,4636,4639,4641,4643,4645,4647,4649],{"class":141,"line":142},[139,4628,80],{"class":152},[139,4630,3233],{"class":220},[139,4632,4633],{"class":197}," -I",[139,4635,3239],{"class":220},[139,4637,4638],{"class":197}," 1",[139,4640,335],{"class":197},[139,4642,3280],{"class":220},[139,4644,3283],{"class":197},[139,4646,3286],{"class":197},[139,4648,3289],{"class":197},[139,4650,3292],{"class":220},[29,4652,4653,4656,4657],{},[32,4654,4655],{},"Сохраните правила"," (иначе они сбросятся после перезагрузки):\n",[26,4658,4659,4667],{},[29,4660,4415,4661,4663,4664],{},[43,4662,3220],{},": ",[43,4665,4666],{},"sudo iptables-save | sudo tee /etc/iptables/rules.v4",[29,4668,4415,4669,4671,4672,4675,4676,96],{},[43,4670,4568],{},": убедитесь, что конфиг в ",[43,4673,4674],{},"/etc/nftables.conf"," корректен и выполните ",[43,4677,4678],{},"sudo nft -f /etc/nftables.conf",[17,4680,4682,4683,1073],{"id":4681},"способ-4-проверка-конфигурации-ssh-сервера-sshd_config","Способ 4: Проверка конфигурации SSH-сервера (",[43,4684,2672],{},[22,4686,2832,4687,4689],{},[43,4688,2835],{}," могут блокировать доступ.",[70,4691,4692,4709,4770],{},[29,4693,4694,4697],{},[32,4695,4696],{},"Откройте файл конфигурации:",[130,4698,4699],{"className":132,"code":4342,"language":134,"meta":135,"style":135},[43,4700,4701],{"__ignoreMap":135},[139,4702,4703,4705,4707],{"class":141,"line":142},[139,4704,80],{"class":152},[139,4706,4351],{"class":220},[139,4708,4354],{"class":220},[29,4710,4711,4714],{},[32,4712,4713],{},"Проверьте ключевые директивы:",[26,4715,4716,4724,4739,4749,4756,4763],{},[29,4717,4718,4721,4722,46],{},[43,4719,4720],{},"Port 22"," — убедитесь, что порт указан корректно (если используете нестандартный, проверьте фаервол и подключение по ",[43,4723,3696],{},[29,4725,4726,4728,4729,4732,4733,4736,4737,96],{},[43,4727,3765],{}," — если эта директива присутствует, она должна быть ",[43,4730,4731],{},"0.0.0.0"," (для IPv4) или ",[43,4734,4735],{},"::"," (для IPv6), а не ",[43,4738,4071],{},[29,4740,4741,4743,4744,535,4746,4748],{},[43,4742,2901],{}," — если вы пытаетесь подключиться под root, убедитесь, что значение ",[43,4745,2881],{},[43,4747,2904],{}," (если используете ключ).",[29,4750,4751,4753,4754,96],{},[43,4752,2877],{}," — если используете пароль, проверьте, что ",[43,4755,2881],{},[29,4757,4758,2915,4760,4762],{},[43,4759,2914],{},[43,4761,2918],{}," — если эти директивы есть, убедитесь, что ваш пользователь (или группа) перечислен в них.",[29,4764,4765,2915,4767,4769],{},[43,4766,4111],{},[43,4768,4116],{}," — убедитесь, что ваш пользователь не указан здесь.",[29,4771,4772,4775,4789],{},[32,4773,4774],{},"После внесения изменений перезапустите службу:",[130,4776,4777],{"className":132,"code":4378,"language":134,"meta":135,"style":135},[43,4778,4779],{"__ignoreMap":135},[139,4780,4781,4783,4785,4787],{"class":141,"line":142},[139,4782,80],{"class":152},[139,4784,1736],{"class":220},[139,4786,1788],{"class":220},[139,4788,2949],{"class":220},[26,4790,4791],{},[29,4792,4793,4795,4796,4799],{},[32,4794,2729],{}," Не закрывайте текущую активную SSH-сессию (если она есть) до проверки новой конфигурации! Используйте ",[43,4797,4798],{},"sudo sshd -t"," для проверки синтаксиса файла перед перезапуском.",[17,4801,4803],{"id":4802},"способ-5-проверка-сетевых-правил-selinuxapparmor-и-балансировщиков","Способ 5: Проверка сетевых правил, SELinux/AppArmor и балансировщиков",[4412,4805,4807],{"id":4806},"проверка-selinux-rhelcentosrocky","Проверка SELinux (RHEL/CentOS/Rocky)",[22,4809,4810,4811,4813],{},"SELinux может запрещать ",[43,4812,4061],{}," слушать порт.",[130,4815,4817],{"className":132,"code":4816,"language":134,"meta":135,"style":135},"sudo ausearch -m avc -ts recent | grep sshd\n",[43,4818,4819],{"__ignoreMap":135},[139,4820,4821,4823,4826,4829,4832,4835,4838,4840,4842],{"class":141,"line":142},[139,4822,80],{"class":152},[139,4824,4825],{"class":220}," ausearch",[139,4827,4828],{"class":197}," -m",[139,4830,4831],{"class":220}," avc",[139,4833,4834],{"class":197}," -ts",[139,4836,4837],{"class":220}," recent",[139,4839,175],{"class":174},[139,4841,414],{"class":152},[139,4843,2949],{"class":220},[22,4845,4846],{},"Если есть записи об отказе, попробуйте восстановить контекст по умолчанию для порта 22:",[130,4848,4850],{"className":132,"code":4849,"language":134,"meta":135,"style":135},"sudo semanage port -a -t ssh_port_t -p tcp 22\n",[43,4851,4852],{"__ignoreMap":135},[139,4853,4854,4856,4859,4862,4865,4868,4871,4873,4875],{"class":141,"line":142},[139,4855,80],{"class":152},[139,4857,4858],{"class":220}," semanage",[139,4860,4861],{"class":220}," port",[139,4863,4864],{"class":197}," -a",[139,4866,4867],{"class":197}," -t",[139,4869,4870],{"class":220}," ssh_port_t",[139,4872,335],{"class":197},[139,4874,3280],{"class":220},[139,4876,2706],{"class":197},[22,4878,4879,4880,4883,4884,4887],{},"(Установите ",[43,4881,4882],{},"policycoreutils-python-utils",", если ",[43,4885,4886],{},"semanage"," нет).",[4412,4889,4891],{"id":4890},"проверка-apparmor-ubuntudebian","Проверка AppArmor (Ubuntu/Debian)",[130,4893,4895],{"className":132,"code":4894,"language":134,"meta":135,"style":135},"sudo aa-status | grep sshd\n",[43,4896,4897],{"__ignoreMap":135},[139,4898,4899,4901,4903,4905,4907],{"class":141,"line":142},[139,4900,80],{"class":152},[139,4902,3388],{"class":220},[139,4904,175],{"class":174},[139,4906,414],{"class":152},[139,4908,2949],{"class":220},[22,4910,4911,4912,4914,4915,4918,4919,4922],{},"Если профиль ",[43,4913,4061],{}," находится в режиме ",[43,4916,4917],{},"enforce",", попробуйте перевести его в ",[43,4920,4921],{},"complain"," (для диагностики) или убедитесь, что профиль корректен:",[130,4924,4926],{"className":132,"code":4925,"language":134,"meta":135,"style":135},"sudo aa-complain /etc/apparmor.d/usr.sbin.sshd\nsudo systemctl restart sshd\n",[43,4927,4928,4936],{"__ignoreMap":135},[139,4929,4930,4932,4934],{"class":141,"line":142},[139,4931,80],{"class":152},[139,4933,3407],{"class":220},[139,4935,3410],{"class":220},[139,4937,4938,4940,4942,4944],{"class":141,"line":149},[139,4939,80],{"class":152},[139,4941,1736],{"class":220},[139,4943,1788],{"class":220},[139,4945,2949],{"class":220},[4412,4947,4949],{"id":4948},"проверка-балансировщикароутера","Проверка балансировщика/роутера",[22,4951,4952],{},"Если сервер находится за NAT (например, в облаке или дата-центре):",[70,4954,4955,4962,4965],{},[29,4956,4957,4958,4961],{},"Убедитесь, что на роутере/в облачной панели (AWS Security Group, GCP Firewall, Yandex Cloud Security Group и т.д.) ",[32,4959,4960],{},"открыт порт 22 (или ваш кастомный порт)"," для вашего IP-адреса или диапазона.",[29,4963,4964],{},"Проверьте, что правило имеет приоритет выше правил \"отклонить всё\".",[29,4966,4967],{},"Если используете балансировщик нагрузки (ELB, HAProxy), убедитесь, что он настроен на проброс TCP-трафика на порт 22 к вашему бэкенду.",[17,4969,4971],{"id":4970},"профилактика","Профилактика",[70,4973,4974,4982,4992,5001,5010],{},[29,4975,4976,1153,4979,96],{},[32,4977,4978],{},"Всегда включайте автозагрузку критичных служб:",[43,4980,4981],{},"sudo systemctl enable sshd",[29,4983,4984,4987,4988,4991],{},[32,4985,4986],{},"Настраивайте фаервол сразу после развёртывания сервера"," и добавляйте правило для SSH ",[882,4989,4990],{},"до"," того, как включите его в продакшен.",[29,4993,4994,4997,4998,46],{},[32,4995,4996],{},"Используйте нестандартный порт для SSH"," (например, 2222). Это не панацея от атак, но уменьшает количество автоматических сканирований. Не забудьте обновить фаервол и клиентскую команду (",[43,4999,5000],{},"ssh -p 2222 user@host",[29,5002,5003,5006,5007,5009],{},[32,5004,5005],{},"Регулярно проверяйте конфигурацию"," на наличие устаревших или конфликтующих директив (",[43,5008,2672],{},", правила iptables/nftables).",[29,5011,5012,1153,5015,5018,5019,5022,5023,5026],{},[32,5013,5014],{},"Мониторьте логи SSH:",[43,5016,5017],{},"sudo journalctl -u sshd -f"," в реальном времени или ",[43,5020,5021],{},"sudo cat /var/log/auth.log"," (Ubuntu/Debian) / ",[43,5024,5025],{},"sudo cat /var/log/secure"," (RHEL) для отслеживания попыток подключения и ошибок.",[512,5028],{},[17,5030,5032],{"id":5031},"дополнительная-диагностика","Дополнительная диагностика",[22,5034,5035],{},"Если ни один из способов не помог, соберите информацию для дальнейшего анализа:",[70,5037,5038,5078,5121,5147],{},[29,5039,5040,5045,5070,5072,5073,535,5076,96],{},[32,5041,5042,5043,4259],{},"Логи ",[43,5044,4061],{},[130,5046,5048],{"className":132,"code":5047,"language":134,"meta":135,"style":135},"sudo journalctl -u sshd --since \"5 min ago\" | tail -50\n",[43,5049,5050],{"__ignoreMap":135},[139,5051,5052,5054,5056,5058,5060,5062,5064,5066,5068],{"class":141,"line":142},[139,5053,80],{"class":152},[139,5055,2057],{"class":220},[139,5057,217],{"class":197},[139,5059,3661],{"class":220},[139,5061,240],{"class":197},[139,5063,836],{"class":220},[139,5065,175],{"class":174},[139,5067,708],{"class":152},[139,5069,711],{"class":197},[2596,5071],{},"Ищите строки с ",[43,5074,5075],{},"Connection closed",[43,5077,4014],{},[29,5079,5080,5083,5107,5109,5110,5113,5114,5117,5118,5120],{},[32,5081,5082],{},"Сетевой трафик (если есть доступ к серверу через консоль/KVM):",[130,5084,5086],{"className":132,"code":5085,"language":134,"meta":135,"style":135},"sudo tcpdump -i any port 22 -nn\n",[43,5087,5088],{"__ignoreMap":135},[139,5089,5090,5092,5095,5097,5100,5102,5104],{"class":141,"line":142},[139,5091,80],{"class":152},[139,5093,5094],{"class":220}," tcpdump",[139,5096,437],{"class":197},[139,5098,5099],{"class":220}," any",[139,5101,4861],{"class":220},[139,5103,3286],{"class":197},[139,5105,5106],{"class":197}," -nn\n",[2596,5108],{},"Попробуйте подключиться с клиента. Если вы видите пакеты ",[43,5111,5112],{},"SYN"," от клиента, но нет пакетов ",[43,5115,5116],{},"SYN-ACK"," от сервера — проблема на стороне сервера (служба/фаервол). Если пакеты ",[43,5119,5112],{}," не приходят — проблема на сети или балансировщике.",[29,5122,5123,5126,5142,5144,5145,96],{},[32,5124,5125],{},"Проверка на наличие конфликтующего процесса:",[130,5127,5129],{"className":132,"code":5128,"language":134,"meta":135,"style":135},"sudo lsof -i :22\n",[43,5130,5131],{"__ignoreMap":135},[139,5132,5133,5135,5138,5140],{"class":141,"line":142},[139,5134,80],{"class":152},[139,5136,5137],{"class":220}," lsof",[139,5139,437],{"class":197},[139,5141,2635],{"class":220},[2596,5143],{},"Убедитесь, что процесс — это ",[43,5146,4061],{},[29,5148,5149,5152],{},[32,5150,5151],{},"Проверка целостности пакетов:",[130,5153,5155],{"className":132,"code":5154,"language":134,"meta":135,"style":135},"sudo apt update && sudo apt install --reinstall openssh-server  # Debian/Ubuntu\nsudo yum reinstall openssh-server                            # RHEL/CentOS\n",[43,5156,5157,5186],{"__ignoreMap":135},[139,5158,5159,5161,5164,5167,5170,5172,5174,5177,5180,5183],{"class":141,"line":142},[139,5160,80],{"class":152},[139,5162,5163],{"class":220}," apt",[139,5165,5166],{"class":220}," update",[139,5168,5169],{"class":812}," && ",[139,5171,80],{"class":152},[139,5173,5163],{"class":220},[139,5175,5176],{"class":220}," install",[139,5178,5179],{"class":197}," --reinstall",[139,5181,5182],{"class":220}," openssh-server",[139,5184,5185],{"class":145},"  # Debian/Ubuntu\n",[139,5187,5188,5190,5193,5196,5198],{"class":141,"line":149},[139,5189,80],{"class":152},[139,5191,5192],{"class":220}," yum",[139,5194,5195],{"class":220}," reinstall",[139,5197,5182],{"class":220},[139,5199,5200],{"class":145},"                            # RHEL/CentOS\n",[22,5202,5203,5206,5207,5209,5210,1239,5213,535,5216,1265,5219,5221,5222,5225],{},[32,5204,5205],{},"Внимание:"," После каждого значимого изменения конфигурации (фаервол, ",[43,5208,2672],{},") ",[32,5211,5212],{},"перезапускайте соответствующую службу",[43,5214,5215],{},"sudo systemctl restart sshd",[43,5217,5218],{},"sudo systemctl restart firewalld",[43,5220,3168],{},") и ",[32,5223,5224],{},"тестируйте подключение с клиента",". Не закрывайте работающую консольную сессию до подтверждения работоспособности SSH.",[1300,5227,5228],{},"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":135,"searchDepth":149,"depth":149,"links":5230},[5231,5232,5233,5234,5235,5243,5245,5250,5251],{"id":3997,"depth":149,"text":3998},{"id":4047,"depth":149,"text":4048},{"id":4149,"depth":149,"text":4150},{"id":4240,"depth":149,"text":4241},{"id":4406,"depth":149,"text":4407,"children":5236},[5237,5239,5241],{"id":4414,"depth":156,"text":5238},"Для ufw (Ubuntu/Debian по умолчанию)",{"id":4492,"depth":156,"text":5240},"Для firewalld (RHEL/CentOS/Rocky/Fedora)",{"id":4563,"depth":156,"text":5242},"Для iptables/nftables (базовый стек)",{"id":4681,"depth":149,"text":5244},"Способ 4: Проверка конфигурации SSH-сервера (sshd_config)",{"id":4802,"depth":149,"text":4803,"children":5246},[5247,5248,5249],{"id":4806,"depth":156,"text":4807},{"id":4890,"depth":156,"text":4891},{"id":4948,"depth":156,"text":4949},{"id":4970,"depth":149,"text":4971},{"id":5031,"depth":149,"text":5032},"2026-02-15 16:48:43","Не можете подключиться к серверу по SSH? Ошибка 'Connection refused' обычно означает, что служба SSH не слушает порт или блокируется фаерволом. Пошаговая инструкция по диагностике и решению за 15-30 минут.",[5255,5258,5261,5264],{"question":5256,"answer":5257},"Чем ошибка 'Connection refused' отличается от 'Connection timed out'?","`Connection refused` означает, что сервер **активно отклонил** соединение на указанном порту (обычно 22). Это часто значит, что служба SSH не запущена или порт закрыт фаерволом. `Connection timed out` означает, что запрос **не получил ответа** (возможно, сервер выключен, маршрутизация неверна или фаервол молча dropping пакеты).",{"question":5259,"answer":5260},"Проверил, порт 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":5262,"answer":5263},"Можно ли использовать SSH, если порт 22 закрыт, но служба работает?","Да. Если служба `sshd` запущена и слушает другой порт (например, 2222), вы можете подключиться, указав его: `ssh -p 2222 user@host`. Но убедитесь, что этот порт также открыт в фаерволе и проброшен (если используется NAT).",{"question":5265,"answer":5266},"Почему после перезагрузки сервера SSH перестал работать с 'Connection refused'?","Чаще всего служба `sshd` не настроена на автозапуск. Проверьте: `systemctl is-enabled sshd` (должно быть `enabled`). Если `disabled`, включите автозагрузку: `sudo systemctl enable sshd`.",[5268,5271,5274,5277,5280],{"name":5269,"text":5270},"Проверьте статус службы SSH","Убедитесь, что демон SSH (`sshd`) запущен и активен. Используйте `systemctl` для проверки.",{"name":5272,"text":5273},"Проверьте, на каком порту и интерфейсе служит SSH","Узнайте, какие порты и адреса слушает служба, чтобы убедиться, что она готова к внешним подключениям.",{"name":5275,"text":5276},"Проверьте настройки фаервола (iptables/nftables/firewalld/ufw)","Убедитесь, что правило разрешает входящие подключения на порт SSH (по умолчанию 22) с вашего IP-адреса.",{"name":5278,"text":5279},"Проверьте конфигурацию SSH-сервера","Убедитесь, что в `/etc/ssh/sshd_config` нет ограничений (`ListenAddress`, `AllowUsers`), блокирующих ваше подключение.",{"name":5281,"text":5282},"Проверьте сетевые правила и балансировщики","Если сервер за NAT или балансировщиком нагрузки, убедитесь, что порт 22 проброшен (port forwarded) на внутренний IP сервера.","PT30M",[5285,5286,5287,5288,5289,5290,5291,5292],"ssh connection refused","ошибка ssh отказ в подключении","ssh port 22 refused","как исправить ssh connection refused","ssh не подключается отказ в соединении","ошибка подключения по ssh linux","ssh connection refused ubuntu","порт 22 закрыт ssh",{},[5295,5296,5297],"/errors/linux/ssh-permission-denied","/guides/linux/configure-ssh-server","/errors/linux/ssh-host-key-verification-failed","Ошибки Linux",{"title":3986,"description":5253},"high","errors/linux/ssh-connection-refused","Статья объясняет, что означает ошибка 'SSH Connection refused', перечисляет основные причины (незапущенная служба, закрытый порт, неверные настройки) и предоставляет 5 проверенных способов решения проблемы на Linux-сервере.",[2536,1365,5304,5305,91,5306],"сеть","firewall","debug","47JNE9twsh11tFyVppHPQWE39gMIy0gHshzMnXbg5aI"]