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