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