[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/ssh-troubleshooting":3,"mdc-9nov5j-key":1587,"mdc--99yz7s-key":1613,"mdc--nitmwq-key":1638,"mdc--d3jwgf-key":1661,"mdc--42qzjd-key":1683,"mdc-izy2ts-key":1707,"mdc-58ifx7-key":1748,"mdc-jhr4c0-key":1765,"related-/guides/linux/openssh-hardening,/errors/linux/ssh-connection-timeout,/guides/linux/firewall-configuration":1789},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1527,"code":1527,"createdAt":1528,"description":1529,"difficulty":1530,"draft":1531,"estimatedTime":1532,"extension":1533,"faq":1534,"howToSteps":1544,"howToTotalTime":1560,"image":1527,"keywords":1561,"locale":1570,"meta":1571,"navigation":561,"path":1572,"platform":1573,"related":1574,"section":1576,"seo":1577,"severity":1527,"stem":1578,"summary":1579,"tags":1580,"twitterCreator":1527,"twitterSite":1527,"type":1585,"updatedAt":1528,"__hash__":1586},"content_ru/guides/linux/ssh-troubleshooting.md","SSH не подключается: полное руководство по диагностике и решению",[7,8,9,10],"Ubuntu 22.04+","CentOS 7/8","Debian 11+","Any Linux with OpenSSH","FixPedia Team",{"type":13,"value":14,"toc":1515},"minimark",[15,20,24,27,31,34,89,92,96,99,275,285,289,292,339,342,378,384,388,395,659,663,666,988,991,995,998,1257,1261,1264,1275,1285,1290,1309,1313,1446,1450,1511],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Подключение к удалённому серверу по SSH — это основа ежедневной работы системного администратора, DevOps-инженера и разработчика. Когда подключение не удаётся, работа останавливается. Ошибки SSH часто имеют схожие причины: сетевая недоступность, неверные настройки демона, проблемы с аутентификацией или блокировка брандмауэром. Этот гайд предлагает структурированный, пошаговый подход к диагностике, который поможет вам быстро найти и устранить корень проблемы, а не просто \"перезапустить сервис и надеяться\".",[21,25,26],{},"После выполнения этого руководства вы сможете самостоятельно диагностировать любую проблему с SSH-подключением в Linux, начиная с проверки канала и заканчивая анализом логов.",[16,28,30],{"id":29},"требования-подготовка","Требования / Подготовка",[21,32,33],{},"Перед началом диагностики убедитесь, что у вас есть:",[35,36,37,45,56,73],"ol",{},[38,39,40,44],"li",{},[41,42,43],"strong",{},"Доступ к консоли сервера"," (KVM, IPMI, виртуальная консоль в панели управления хостинг-провайдера). Это критически важно, если проблема заблокировала ваш основной SSH-доступ.",[38,46,47,55],{},[41,48,49,50,54],{},"Права суперпользователя (",[51,52,53],"code",{},"sudo",")"," на целевом сервере для проверки логов, конфигурации и управления брандмауэром.",[38,57,58,61,62,65,66,65,69,72],{},[41,59,60],{},"Клиентская машина"," с установленным OpenSSH-клиентом (",[51,63,64],{},"ssh",", ",[51,67,68],{},"scp",[51,70,71],{},"ssh-keygen",").",[38,74,75,78,79,65,82,65,85,88],{},[41,76,77],{},"Базовые знания"," о работе сетевых команд (",[51,80,81],{},"ping",[51,83,84],{},"nc",[51,86,87],{},"ss",") и структуре файловых прав в Linux.",[90,91],"hr",{},[16,93,95],{"id":94},"шаг-1-проверка-базовой-сетевой-доступности","Шаг 1: Проверка базовой сетевой доступности",[21,97,98],{},"Первым делом нужно понять, доходит ли ваш сетевой пакет до сервера и слушает ли сервер нужный порт (по умолчанию 22).",[35,100,101,142],{},[38,102,103,106,138,141],{},[41,104,105],{},"Проверьте доступность хоста:",[107,108,113],"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-bash shiki shiki-themes github-light github-dark","ping \u003CIP_адрес_или_домен_сервера>\n","bash","",[51,114,115],{"__ignoreMap":112},[116,117,120,123,127,131,135],"span",{"class":118,"line":119},"line",1,[116,121,81],{"class":122},"sScJk",[116,124,126],{"class":125},"szBVR"," \u003C",[116,128,130],{"class":129},"sZZnC","IP_адрес_или_домен_сервер",[116,132,134],{"class":133},"sVt8B","а",[116,136,137],{"class":125},">\n",[139,140],"br",{},"Если ping не проходит, проблема на сетевом уровне (маршрутизация, firewall на промежуточном узле, сервер выключен).",[38,143,144,147,148,151,152,206,208,209,212,213,216,217,220,221,224,225,227,228,231,232,234,235,260,262,263,266,267,270,271,274],{},[41,145,146],{},"Проверьте, слушает ли SSH-демон порт и открыт ли он снаружи:","\nНа ",[41,149,150],{},"сервере"," (через консоль) выполните:",[107,153,155],{"className":109,"code":154,"language":111,"meta":112,"style":112},"# Посмотреть, какой порт слушает sshd и на каком интерфейсе\nsudo ss -tlnp | grep :22\n# Или\nsudo netstat -tlnp | grep :22\n",[51,156,157,163,184,190],{"__ignoreMap":112},[116,158,159],{"class":118,"line":119},[116,160,162],{"class":161},"sJ8bj","# Посмотреть, какой порт слушает sshd и на каком интерфейсе\n",[116,164,166,168,171,175,178,181],{"class":118,"line":165},2,[116,167,53],{"class":122},[116,169,170],{"class":129}," ss",[116,172,174],{"class":173},"sj4cs"," -tlnp",[116,176,177],{"class":125}," |",[116,179,180],{"class":122}," grep",[116,182,183],{"class":129}," :22\n",[116,185,187],{"class":118,"line":186},3,[116,188,189],{"class":161},"# Или\n",[116,191,193,195,198,200,202,204],{"class":118,"line":192},4,[116,194,53],{"class":122},[116,196,197],{"class":129}," netstat",[116,199,174],{"class":173},[116,201,177],{"class":125},[116,203,180],{"class":122},[116,205,183],{"class":129},[139,207],{},"Ожидаемый результат: ",[51,210,211],{},"0.0.0.0:22"," или ",[51,214,215],{},":::22"," (слушает на всех интерфейсах). Если ",[51,218,219],{},"127.0.0.1:22"," — демон слушает только localhost, и нужно править ",[51,222,223],{},"sshd_config",".",[139,226],{},"С ",[41,229,230],{},"клиента"," попробуйте проверить открытость порта с помощью ",[51,233,84],{}," (netcat):",[107,236,238],{"className":109,"code":237,"language":111,"meta":112,"style":112},"nc -zv \u003CIP_адрес_сервера> 22\n",[51,239,240],{"__ignoreMap":112},[116,241,242,244,247,249,252,254,257],{"class":118,"line":119},[116,243,84],{"class":122},[116,245,246],{"class":173}," -zv",[116,248,126],{"class":125},[116,250,251],{"class":129},"IP_адрес_сервер",[116,253,134],{"class":133},[116,255,256],{"class":125},">",[116,258,259],{"class":173}," 22\n",[139,261],{},"Успешный результат: ",[51,264,265],{},"Connection to \u003CIP> 22 port [tcp/ssh] succeeded!",". Если ",[51,268,269],{},"Connection refused"," — порт закрыт (демон не слушает или блокируется брандмауэром). Если ",[51,272,273],{},"Operation timed out"," — пакеты теряются (брандмауэр сбрасывает соединение или проблема с маршрутизацией).",[276,277,278],"blockquote",{},[21,279,280,281,284],{},"⚠️ ",[41,282,283],{},"Важно:"," Некоторые облачные провайдеры (AWS, GCP, DigitalOcean) используют Security Groups / Firewall Rules на уровне гипервизора. Убедитесь, что правила там разрешают входящий трафик на порт 22/TCP с вашего IP-адреса.",[16,286,288],{"id":287},"шаг-2-анализ-логов-ssh-демона-на-сервере","Шаг 2: Анализ логов SSH-демона на сервере",[21,290,291],{},"Логи — самый ценный источник информации. Подключитесь к консоли сервера и проверьте системный журнал.",[293,294,295,318],"ul",{},[38,296,297,300],{},[41,298,299],{},"Для Debian/Ubuntu:",[107,301,303],{"className":109,"code":302,"language":111,"meta":112,"style":112},"sudo tail -f /var/log/auth.log\n",[51,304,305],{"__ignoreMap":112},[116,306,307,309,312,315],{"class":118,"line":119},[116,308,53],{"class":122},[116,310,311],{"class":129}," tail",[116,313,314],{"class":173}," -f",[116,316,317],{"class":129}," /var/log/auth.log\n",[38,319,320,323],{},[41,321,322],{},"Для RHEL/CentOS/Rocky/AlmaLinux:",[107,324,326],{"className":109,"code":325,"language":111,"meta":112,"style":112},"sudo tail -f /var/log/secure\n",[51,327,328],{"__ignoreMap":112},[116,329,330,332,334,336],{"class":118,"line":119},[116,331,53],{"class":122},[116,333,311],{"class":129},[116,335,314],{"class":173},[116,337,338],{"class":129}," /var/log/secure\n",[21,340,341],{},"Теперь, с клиента, попробуйте выполнить неудачное подключение. Наблюдайте за логами в реальном времени. Типичные записи и их значение:",[293,343,344,350,356,362,368],{},[38,345,346,349],{},[51,347,348],{},"Failed password for \u003Cuser> from \u003Cclient_ip> port \u003Cport> ssh2"," — неверный пароль (если парольная аутентификация включена).",[38,351,352,355],{},[51,353,354],{},"Invalid user \u003Cuser> from \u003Cclient_ip>"," — попытка логина под несуществующим пользователем.",[38,357,358,361],{},[51,359,360],{},"Connection closed by \u003Cclient_ip> port \u003Cport> [preauth]"," — клиент разорвал соединение до аутентификации (часто из-за несовпадения ключей или таймаута).",[38,363,364,367],{},[51,365,366],{},"Authentication failed."," — общая ошибка аутентификации (ключ, пароль, GSSAPI).",[38,369,370,373,374,377],{},[51,371,372],{},"POSSIBLE BREAK-IN ATTEMPT!"," — слишком много неудачных попыток, демон может временно заблокировать IP (если настроены ",[51,375,376],{},"MaxAuthTries"," или fail2ban).",[21,379,380,383],{},[41,381,382],{},"Что искать:"," точное время попытки, IP-адрес клиента, имя пользователя и конкретную строку с ошибкой.",[16,385,387],{"id":386},"шаг-3-валидация-конфигурации-ssh-демона-и-прав-доступа","Шаг 3: Валидация конфигурации SSH-демона и прав доступа",[21,389,390,391,394],{},"Неправильные настройки в ",[51,392,393],{},"/etc/ssh/sshd_config"," или права на файлы — частая причина отказа в доступе.",[35,396,397,521],{},[38,398,399,402,427,429,430,488,490,493],{},[41,400,401],{},"Проверьте основной конфиг:",[107,403,405],{"className":109,"code":404,"language":111,"meta":112,"style":112},"sudo cat /etc/ssh/sshd_config | grep -E \"^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|DenyUsers)\"\n",[51,406,407],{"__ignoreMap":112},[116,408,409,411,414,417,419,421,424],{"class":118,"line":119},[116,410,53],{"class":122},[116,412,413],{"class":129}," cat",[116,415,416],{"class":129}," /etc/ssh/sshd_config",[116,418,177],{"class":125},[116,420,180],{"class":122},[116,422,423],{"class":173}," -E",[116,425,426],{"class":129}," \"^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|DenyUsers)\"\n",[139,428],{},"Ключевые параметры:",[293,431,432,447,456,469,479],{},[38,433,434,437,438,212,441,266,444,446],{},[51,435,436],{},"PasswordAuthentication"," — ",[51,439,440],{},"yes",[51,442,443],{},"no",[51,445,443],{},", нужен работающий публичный ключ.",[38,448,449,452,453,455],{},[51,450,451],{},"PubkeyAuthentication"," — должен быть ",[51,454,440],{}," для работы с ключами.",[38,457,458,437,461,464,465,212,467,224],{},[51,459,460],{},"PermitRootLogin",[51,462,463],{},"prohibit-password"," (разрешает только ключевую), ",[51,466,440],{},[51,468,443],{},[38,470,471,474,475,478],{},[51,472,473],{},"AllowUsers"," / ",[51,476,477],{},"AllowGroups"," — если указаны, только перечисленные пользователи/группы могут подключаться.",[38,480,481,484,485,72],{},[51,482,483],{},"Port"," — нестандартный порт (если изменён, подключайтесь через него: ",[51,486,487],{},"ssh -p \u003Cport> user@host",[139,489],{},[41,491,492],{},"После любых изменений перезапустите демон:",[107,494,496],{"className":109,"code":495,"language":111,"meta":112,"style":112},"sudo systemctl restart sshd\n# Или для старого sysvinit:\n# sudo service ssh restart\n",[51,497,498,511,516],{"__ignoreMap":112},[116,499,500,502,505,508],{"class":118,"line":119},[116,501,53],{"class":122},[116,503,504],{"class":129}," systemctl",[116,506,507],{"class":129}," restart",[116,509,510],{"class":129}," sshd\n",[116,512,513],{"class":118,"line":165},[116,514,515],{"class":161},"# Или для старого sysvinit:\n",[116,517,518],{"class":118,"line":186},[116,519,520],{"class":161},"# sudo service ssh restart\n",[38,522,523,526,527,530,531,613,615,616],{},[41,524,525],{},"Проверьте права на файлы пользователя на сервере:","\nSSH-демон очень строг к правам. Подключитесь к консоли и проверьте для целевого пользователя (например, ",[51,528,529],{},"ubuntu","):",[107,532,534],{"className":109,"code":533,"language":111,"meta":112,"style":112},"# Права на домашнюю директорию\nls -ld /home/ubuntu\n# Ожидается: drwxr-xr-x (755) или drwx------ (700). НЕ должно быть записи для группы и других (например, 777).\n\n# Права на папку .ssh\nls -ld /home/ubuntu/.ssh\n# Ожидается: drwx------ (700)\n\n# Права на файл authorized_keys\nls -l /home/ubuntu/.ssh/authorized_keys\n# Ожидается: -rw------- (600)\n",[51,535,536,541,552,557,563,569,579,585,590,596,607],{"__ignoreMap":112},[116,537,538],{"class":118,"line":119},[116,539,540],{"class":161},"# Права на домашнюю директорию\n",[116,542,543,546,549],{"class":118,"line":165},[116,544,545],{"class":122},"ls",[116,547,548],{"class":173}," -ld",[116,550,551],{"class":129}," /home/ubuntu\n",[116,553,554],{"class":118,"line":186},[116,555,556],{"class":161},"# Ожидается: drwxr-xr-x (755) или drwx------ (700). НЕ должно быть записи для группы и других (например, 777).\n",[116,558,559],{"class":118,"line":192},[116,560,562],{"emptyLinePlaceholder":561},true,"\n",[116,564,566],{"class":118,"line":565},5,[116,567,568],{"class":161},"# Права на папку .ssh\n",[116,570,572,574,576],{"class":118,"line":571},6,[116,573,545],{"class":122},[116,575,548],{"class":173},[116,577,578],{"class":129}," /home/ubuntu/.ssh\n",[116,580,582],{"class":118,"line":581},7,[116,583,584],{"class":161},"# Ожидается: drwx------ (700)\n",[116,586,588],{"class":118,"line":587},8,[116,589,562],{"emptyLinePlaceholder":561},[116,591,593],{"class":118,"line":592},9,[116,594,595],{"class":161},"# Права на файл authorized_keys\n",[116,597,599,601,604],{"class":118,"line":598},10,[116,600,545],{"class":122},[116,602,603],{"class":173}," -l",[116,605,606],{"class":129}," /home/ubuntu/.ssh/authorized_keys\n",[116,608,610],{"class":118,"line":609},11,[116,611,612],{"class":161},"# Ожидается: -rw------- (600)\n",[139,614],{},"Если права шире, исправьте:",[107,617,619],{"className":109,"code":618,"language":111,"meta":112,"style":112},"sudo chmod 700 /home/ubuntu/.ssh\nsudo chmod 600 /home/ubuntu/.ssh/authorized_keys\nsudo chown -R ubuntu:ubuntu /home/ubuntu/.ssh\n",[51,620,621,633,644],{"__ignoreMap":112},[116,622,623,625,628,631],{"class":118,"line":119},[116,624,53],{"class":122},[116,626,627],{"class":129}," chmod",[116,629,630],{"class":173}," 700",[116,632,578],{"class":129},[116,634,635,637,639,642],{"class":118,"line":165},[116,636,53],{"class":122},[116,638,627],{"class":129},[116,640,641],{"class":173}," 600",[116,643,606],{"class":129},[116,645,646,648,651,654,657],{"class":118,"line":186},[116,647,53],{"class":122},[116,649,650],{"class":129}," chown",[116,652,653],{"class":173}," -R",[116,655,656],{"class":129}," ubuntu:ubuntu",[116,658,578],{"class":129},[16,660,662],{"id":661},"шаг-4-проверка-правил-брандмауэра-и-selinuxapparmor","Шаг 4: Проверка правил брандмауэра и SELinux/AppArmor",[21,664,665],{},"Брандмауэр на сервере может блокировать входящие соединения на порт 22.",[35,667,668,875],{},[38,669,670,673],{},[41,671,672],{},"Проверьте активные правила:",[293,674,675,736,791],{},[38,676,677,680,681,696,697,212,700,703,704,212,706,709,710],{},[41,678,679],{},"firewalld"," (RHEL/CentOS 7+, Fedora):\n",[107,682,684],{"className":109,"code":683,"language":111,"meta":112,"style":112},"sudo firewall-cmd --list-all\n",[51,685,686],{"__ignoreMap":112},[116,687,688,690,693],{"class":118,"line":119},[116,689,53],{"class":122},[116,691,692],{"class":129}," firewall-cmd",[116,694,695],{"class":173}," --list-all\n","\nВ выводе в секции ",[51,698,699],{},"services:",[51,701,702],{},"ports:"," должна быть строка ",[51,705,64],{},[51,707,708],{},"22/tcp",". Если нет, добавьте:\n",[107,711,713],{"className":109,"code":712,"language":111,"meta":112,"style":112},"sudo firewall-cmd --permanent --add-service=ssh\nsudo firewall-cmd --reload\n",[51,714,715,727],{"__ignoreMap":112},[116,716,717,719,721,724],{"class":118,"line":119},[116,718,53],{"class":122},[116,720,692],{"class":129},[116,722,723],{"class":173}," --permanent",[116,725,726],{"class":173}," --add-service=ssh\n",[116,728,729,731,733],{"class":118,"line":165},[116,730,53],{"class":122},[116,732,692],{"class":129},[116,734,735],{"class":173}," --reload\n",[38,737,738,741,742,760,761,764,765],{},[41,739,740],{},"ufw"," (Ubuntu/Debian по умолчанию):\n",[107,743,745],{"className":109,"code":744,"language":111,"meta":112,"style":112},"sudo ufw status verbose\n",[51,746,747],{"__ignoreMap":112},[116,748,749,751,754,757],{"class":118,"line":119},[116,750,53],{"class":122},[116,752,753],{"class":129}," ufw",[116,755,756],{"class":129}," status",[116,758,759],{"class":129}," verbose\n","\nДолжна быть строка ",[51,762,763],{},"22/tcp (SSH) ALLOW IN",". Если нет:\n",[107,766,768],{"className":109,"code":767,"language":111,"meta":112,"style":112},"sudo ufw allow ssh\nsudo ufw reload\n",[51,769,770,782],{"__ignoreMap":112},[116,771,772,774,776,779],{"class":118,"line":119},[116,773,53],{"class":122},[116,775,753],{"class":129},[116,777,778],{"class":129}," allow",[116,780,781],{"class":129}," ssh\n",[116,783,784,786,788],{"class":118,"line":165},[116,785,53],{"class":122},[116,787,753],{"class":129},[116,789,790],{"class":129}," reload\n",[38,792,793,796,797,827,828,831,832,835,836],{},[41,794,795],{},"iptables"," (legacy):\n",[107,798,800],{"className":109,"code":799,"language":111,"meta":112,"style":112},"sudo iptables -L INPUT -n -v | grep 22\n",[51,801,802],{"__ignoreMap":112},[116,803,804,806,809,812,815,818,821,823,825],{"class":118,"line":119},[116,805,53],{"class":122},[116,807,808],{"class":129}," iptables",[116,810,811],{"class":173}," -L",[116,813,814],{"class":129}," INPUT",[116,816,817],{"class":173}," -n",[116,819,820],{"class":173}," -v",[116,822,177],{"class":125},[116,824,180],{"class":122},[116,826,259],{"class":173},"\nИщите правило с ",[51,829,830],{},"ACCEPT"," для порта 22. Если правил нет или стоит ",[51,833,834],{},"DROP",", добавьте:\n",[107,837,839],{"className":109,"code":838,"language":111,"meta":112,"style":112},"sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\n# Сохраните правила в зависимости от дистрибутива (iptables-save, netfilter-persistent)\n",[51,840,841,870],{"__ignoreMap":112},[116,842,843,845,847,850,852,855,858,861,864,867],{"class":118,"line":119},[116,844,53],{"class":122},[116,846,808],{"class":129},[116,848,849],{"class":173}," -A",[116,851,814],{"class":129},[116,853,854],{"class":173}," -p",[116,856,857],{"class":129}," tcp",[116,859,860],{"class":173}," --dport",[116,862,863],{"class":173}," 22",[116,865,866],{"class":173}," -j",[116,868,869],{"class":129}," ACCEPT\n",[116,871,872],{"class":118,"line":165},[116,873,874],{"class":161},"# Сохраните правила в зависимости от дистрибутива (iptables-save, netfilter-persistent)\n",[38,876,877,880],{},[41,878,879],{},"Проверьте SELinux (RHEL/CentOS/Fedora) или AppArmor (Ubuntu/Debian):",[293,881,882,948],{},[38,883,884,887,896,897,900,901,904,905,919,920,923,924,437,927,930,931],{},[41,885,886],{},"SELinux:",[107,888,890],{"className":109,"code":889,"language":111,"meta":112,"style":112},"getenforce\n",[51,891,892],{"__ignoreMap":112},[116,893,894],{"class":118,"line":119},[116,895,889],{"class":122},"\nЕсли ",[51,898,899],{},"Enforcing",", проверьте контекст безопасности папки ",[51,902,903],{},".ssh",":\n",[107,906,908],{"className":109,"code":907,"language":111,"meta":112,"style":112},"ls -laZ /home/ubuntu/.ssh\n",[51,909,910],{"__ignoreMap":112},[116,911,912,914,917],{"class":118,"line":119},[116,913,545],{"class":122},[116,915,916],{"class":173}," -laZ",[116,918,578],{"class":129},"\nПравильный контекст для домашней директории пользователя — ",[51,921,922],{},"unconfined_u:object_r:user_home_t:s0",". Для ",[51,925,926],{},"authorized_keys",[51,928,929],{},"ssh_home_t",". Если контекст неправильный, восстановите:\n",[107,932,934],{"className":109,"code":933,"language":111,"meta":112,"style":112},"sudo restorecon -Rv /home/ubuntu/.ssh\n",[51,935,936],{"__ignoreMap":112},[116,937,938,940,943,946],{"class":118,"line":119},[116,939,53],{"class":122},[116,941,942],{"class":129}," restorecon",[116,944,945],{"class":173}," -Rv",[116,947,578],{"class":129},[38,949,950,953,954,972,973],{},[41,951,952],{},"AppArmor:"," Обычно не мешает SSH, но профиль может быть в режиме enforce. Проверьте:\n",[107,955,957],{"className":109,"code":956,"language":111,"meta":112,"style":112},"sudo aa-status | grep ssh\n",[51,958,959],{"__ignoreMap":112},[116,960,961,963,966,968,970],{"class":118,"line":119},[116,962,53],{"class":122},[116,964,965],{"class":129}," aa-status",[116,967,177],{"class":125},[116,969,180],{"class":122},[116,971,781],{"class":129},"\nЕсли есть проблемы, попробуйте перевести профиль в complain-режим для теста:\n",[107,974,976],{"className":109,"code":975,"language":111,"meta":112,"style":112},"sudo aa-complain /etc/apparmor.d/usr.sbin.sshd\n",[51,977,978],{"__ignoreMap":112},[116,979,980,982,985],{"class":118,"line":119},[116,981,53],{"class":122},[116,983,984],{"class":129}," aa-complain",[116,986,987],{"class":129}," /etc/apparmor.d/usr.sbin.sshd\n",[989,990],"in-article-ad",{},[16,992,994],{"id":993},"шаг-5-диагностика-клиентской-стороны-и-ключей","Шаг 5: Диагностика клиентской стороны и ключей",[21,996,997],{},"Если сервер в порядке, проблема может быть на стороне клиента.",[35,999,1000,1038,1072,1117,1210],{},[38,1001,1002,1005],{},[41,1003,1004],{},"Убедитесь, что вы используете правильного пользователя и хост:",[107,1006,1008],{"className":109,"code":1007,"language":111,"meta":112,"style":112},"# Базовая команда\nssh user@server_ip\n# Если используется нестандартный порт\nssh -p 2222 user@server_ip\n",[51,1009,1010,1015,1022,1027],{"__ignoreMap":112},[116,1011,1012],{"class":118,"line":119},[116,1013,1014],{"class":161},"# Базовая команда\n",[116,1016,1017,1019],{"class":118,"line":165},[116,1018,64],{"class":122},[116,1020,1021],{"class":129}," user@server_ip\n",[116,1023,1024],{"class":118,"line":186},[116,1025,1026],{"class":161},"# Если используется нестандартный порт\n",[116,1028,1029,1031,1033,1036],{"class":118,"line":192},[116,1030,64],{"class":122},[116,1032,854],{"class":173},[116,1034,1035],{"class":173}," 2222",[116,1037,1021],{"class":129},[38,1039,1040,1043,1057,1059,1060,1063,1064,1067,1068,1071],{},[41,1041,1042],{},"Включите подробное логирование на клиенте:",[107,1044,1046],{"className":109,"code":1045,"language":111,"meta":112,"style":112},"ssh -vvv user@server_ip\n",[51,1047,1048],{"__ignoreMap":112},[116,1049,1050,1052,1055],{"class":118,"line":119},[116,1051,64],{"class":122},[116,1053,1054],{"class":173}," -vvv",[116,1056,1021],{"class":129},[139,1058],{},"Ключи ",[51,1061,1062],{},"-v"," (до трёх) покажут всю цепочку: попытку аутентификации по ключу, паролю, GSSAPI. Ищите строки ",[51,1065,1066],{},"debug1: Authentications that can continue:"," и ",[51,1069,1070],{},"debug1: Offering public key: ...",". Если ваш ключ не предлагается, проблема в его расположении или правах. Если предлагается, но сервер отказывает — смотрите логи сервера (Шаг 2).",[38,1073,1074,1077,1092,1094,1095,1098,1099,1102,1103,1106,1107,437,1109,1112,1113,1116],{},[41,1075,1076],{},"Проверьте права на локальные файлы ключей:",[107,1078,1080],{"className":109,"code":1079,"language":111,"meta":112,"style":112},"ls -la ~/.ssh/\n",[51,1081,1082],{"__ignoreMap":112},[116,1083,1084,1086,1089],{"class":118,"line":119},[116,1085,545],{"class":122},[116,1087,1088],{"class":173}," -la",[116,1090,1091],{"class":129}," ~/.ssh/\n",[139,1093],{},"Права на приватный ключ (например, ",[51,1096,1097],{},"id_rsa",") должны быть ",[41,1100,1101],{},"600"," (",[51,1104,1105],{},"-rw-------","). На папку ",[51,1108,903],{},[41,1110,1111],{},"700",". На публичный ключ (",[51,1114,1115],{},"id_rsa.pub",") — 644 допустим, но лучше 600.",[38,1118,1119,1122,1123,1136,1138,1139,1142,1143,1146,1147],{},[41,1120,1121],{},"Убедитесь, что публичный ключ добавлен на сервер:","\nНа клиенте покажите содержимое публичного ключа:",[107,1124,1126],{"className":109,"code":1125,"language":111,"meta":112,"style":112},"cat ~/.ssh/id_rsa.pub\n",[51,1127,1128],{"__ignoreMap":112},[116,1129,1130,1133],{"class":118,"line":119},[116,1131,1132],{"class":122},"cat",[116,1134,1135],{"class":129}," ~/.ssh/id_rsa.pub\n",[139,1137],{},"Скопируйте вывод и сравните с содержимым файла ",[51,1140,1141],{},"~/.ssh/authorized_keys"," на сервере. Строка должна совпадать ",[41,1144,1145],{},"полностью"," (без лишних пробелов или переносов). Лучше всего перезаписать ключ на сервер:",[107,1148,1150],{"className":109,"code":1149,"language":111,"meta":112,"style":112},"# На клиенте (копируем ключ в буфер обмена)\ncat ~/.ssh/id_rsa.pub | xclip -selection clipboard  # для Linux с xclip\n# Или просто откройте файл и скопируйте вручную.\n\n# На сервере (через консоль)\necho \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...\" >> /home/ubuntu/.ssh/authorized_keys\n# Замените ... на реальную строку ключа. Убедитесь, что ключ добавляется с новой строки.\n",[51,1151,1152,1157,1178,1183,1187,1192,1205],{"__ignoreMap":112},[116,1153,1154],{"class":118,"line":119},[116,1155,1156],{"class":161},"# На клиенте (копируем ключ в буфер обмена)\n",[116,1158,1159,1161,1164,1166,1169,1172,1175],{"class":118,"line":165},[116,1160,1132],{"class":122},[116,1162,1163],{"class":129}," ~/.ssh/id_rsa.pub",[116,1165,177],{"class":125},[116,1167,1168],{"class":122}," xclip",[116,1170,1171],{"class":173}," -selection",[116,1173,1174],{"class":129}," clipboard",[116,1176,1177],{"class":161},"  # для Linux с xclip\n",[116,1179,1180],{"class":118,"line":186},[116,1181,1182],{"class":161},"# Или просто откройте файл и скопируйте вручную.\n",[116,1184,1185],{"class":118,"line":192},[116,1186,562],{"emptyLinePlaceholder":561},[116,1188,1189],{"class":118,"line":565},[116,1190,1191],{"class":161},"# На сервере (через консоль)\n",[116,1193,1194,1197,1200,1203],{"class":118,"line":571},[116,1195,1196],{"class":173},"echo",[116,1198,1199],{"class":129}," \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...\"",[116,1201,1202],{"class":125}," >>",[116,1204,606],{"class":129},[116,1206,1207],{"class":118,"line":581},[116,1208,1209],{"class":161},"# Замените ... на реальную строку ключа. Убедитесь, что ключ добавляется с новой строки.\n",[38,1211,1212,1215,1216],{},[41,1213,1214],{},"Проверьте, не блокирует ли вас fail2ban или аналоги:","\nЕсли вы многократно пытались подключиться с неверным паролем/ключом, IP мог быть заблокирован.",[107,1217,1219],{"className":109,"code":1218,"language":111,"meta":112,"style":112},"sudo fail2ban-client status sshd\nsudo fail2ban-client set sshd unbanip \u003Cваш_клиентский_IP>\n",[51,1220,1221,1232],{"__ignoreMap":112},[116,1222,1223,1225,1228,1230],{"class":118,"line":119},[116,1224,53],{"class":122},[116,1226,1227],{"class":129}," fail2ban-client",[116,1229,756],{"class":129},[116,1231,510],{"class":129},[116,1233,1234,1236,1238,1241,1244,1247,1249,1252,1255],{"class":118,"line":165},[116,1235,53],{"class":122},[116,1237,1227],{"class":129},[116,1239,1240],{"class":129}," set",[116,1242,1243],{"class":129}," sshd",[116,1245,1246],{"class":129}," unbanip",[116,1248,126],{"class":125},[116,1250,1251],{"class":129},"ваш_клиентский_I",[116,1253,1254],{"class":133},"P",[116,1256,137],{"class":125},[16,1258,1260],{"id":1259},"проверка-результата","Проверка результата",[21,1262,1263],{},"После применения всех необходимых исправлений попробуйте подключиться снова с обычной командой:",[107,1265,1267],{"className":109,"code":1266,"language":111,"meta":112,"style":112},"ssh user@server_ip\n",[51,1268,1269],{"__ignoreMap":112},[116,1270,1271,1273],{"class":118,"line":119},[116,1272,64],{"class":122},[116,1274,1021],{"class":129},[21,1276,1277,1278,1281,1282,72],{},"Если используется нестандартный порт, не забудьте флаг ",[51,1279,1280],{},"-p",". Успешное подключение завершится приглашением командной строки сервера (",[51,1283,1284],{},"user@server_ip:~$",[21,1286,1287],{},[41,1288,1289],{},"Критерии успеха:",[293,1291,1292,1295,1298],{},[38,1293,1294],{},"Соединение установлено.",[38,1296,1297],{},"Вы видите приглашение оболочки (bash, zsh) удалённого сервера.",[38,1299,1300,1301,65,1304,212,1306,224],{},"Никаких сообщений об ошибках ",[51,1302,1303],{},"Permission denied",[51,1305,269],{},[51,1307,1308],{},"Connection timed out",[16,1310,1312],{"id":1311},"возможные-проблемы","Возможные проблемы",[293,1314,1315,1334,1358,1391,1424],{},[38,1316,1317,1322],{},[41,1318,1319],{},[51,1320,1321],{},"ssh: connect to host ... port 22: Connection timed out",[293,1323,1324],{},[38,1325,1326,1329,1330,1333],{},[41,1327,1328],{},"Причина:"," Сетевой пакет не доходит. Проверьте ping, маршрутизацию (",[51,1331,1332],{},"traceroute","), правила облачного Security Group и локального/промежуточного брандмауэра.",[38,1335,1336,1341],{},[41,1337,1338],{},[51,1339,1340],{},"ssh: connect to host ... port 22: Connection refused",[293,1342,1343],{},[38,1344,1345,1347,1348,1350,1351,1354,1355,72],{},[41,1346,1328],{}," SSH-демон не слушает порт 22 на внешнем интерфейсе. Проверьте ",[51,1349,223],{}," (параметр ",[51,1352,1353],{},"ListenAddress",") и убедитесь, что демон запущен (",[51,1356,1357],{},"sudo systemctl status sshd",[38,1359,1360,1365],{},[41,1361,1362],{},[51,1363,1364],{},"Permission denied (publickey,password).",[293,1366,1367],{},[38,1368,1369,1371,1372,1375,1376,1067,1379,1381,1382,1384,1385,212,1388,72],{},[41,1370,1328],{}," Аутентификация не прошла. Проверьте логи сервера (",[51,1373,1374],{},"/var/log/auth.log","). Убедитесь в правильности ключа, прав на ",[51,1377,1378],{},"~/.ssh",[51,1380,926],{},", а также в том, что в ",[51,1383,223],{}," разрешён нужный метод (",[51,1386,1387],{},"PubkeyAuthentication yes",[51,1389,1390],{},"PasswordAuthentication yes",[38,1392,1393,1398],{},[41,1394,1395],{},[51,1396,1397],{},"Received disconnect from ...: 2: Too many authentication failures",[293,1399,1400],{},[38,1401,1402,1404,1405,1408,1409,1412,1413,904,1416],{},[41,1403,1328],{}," SSH-клиент предложил слишком много ключей (из ",[51,1406,1407],{},"ssh-agent"," или по умолчанию), и сервер отказал. Решение: явно указать ключ (",[51,1410,1411],{},"ssh -i ~/.ssh/id_rsa user@host",") или отключить агент для этого хоста в ",[51,1414,1415],{},"~/.ssh/config",[107,1417,1422],{"className":1418,"code":1420,"language":1421},[1419],"language-text","Host your-server\n    IdentitiesOnly yes\n    IdentityFile ~/.ssh/id_rsa\n","text",[51,1423,1420],{"__ignoreMap":112},[38,1425,1426,1431],{},[41,1427,1428],{},[51,1429,1430],{},"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!",[293,1432,1433],{},[38,1434,1435,1437,1438,1441,1442,1445],{},[41,1436,1328],{}," Изменился fingerprint хоста (сервер переустановлен, IP перешёл к другому владельцу). ",[41,1439,1440],{},"Не игнорируйте это предупреждение!"," Удалите старую запись из ",[51,1443,1444],{},"~/.ssh/known_hosts"," (найдите строку с IP/доменом и удалите её) и подключитесь заново.",[16,1447,1449],{"id":1448},"дополнительные-ресурсы","Дополнительные ресурсы",[293,1451,1452,1460,1475,1483,1495,1503],{},[38,1453,1454,1459],{},[41,1455,1456],{},[51,1457,1458],{},"man sshd_config"," — официальная документация по конфигурационному файлу демона.",[38,1461,1462,1467,1468,65,1470,65,1473,72],{},[41,1463,1464],{},[51,1465,1466],{},"man ssh"," — документация по клиенту и его параметрам (",[51,1469,1062],{},[51,1471,1472],{},"-i",[51,1474,1280],{},[38,1476,1477,1482],{},[41,1478,1479],{},[51,1480,1481],{},"man ssh-keygen"," — управление SSH-ключами (генерация, конвертация).",[38,1484,1485,1488,1489],{},[41,1486,1487],{},"Документация OpenSSH:"," ",[1490,1491,1492],"a",{"href":1492,"rel":1493},"https://www.openssh.com/manual.html",[1494],"nofollow",[38,1496,1497,1488,1500],{},[41,1498,1499],{},"Гайд по усилению безопасности SSH:",[51,1501,1502],{},"/guides/linux/openssh-hardening",[38,1504,1505,1488,1508],{},[41,1506,1507],{},"Устранение неполадок с firewall в Linux:",[51,1509,1510],{},"/guides/linux/firewall-configuration",[1512,1513,1514],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":112,"searchDepth":165,"depth":165,"links":1516},[1517,1518,1519,1520,1521,1522,1523,1524,1525,1526],{"id":18,"depth":165,"text":19},{"id":29,"depth":165,"text":30},{"id":94,"depth":165,"text":95},{"id":287,"depth":165,"text":288},{"id":386,"depth":165,"text":387},{"id":661,"depth":165,"text":662},{"id":993,"depth":165,"text":994},{"id":1259,"depth":165,"text":1260},{"id":1311,"depth":165,"text":1312},{"id":1448,"depth":165,"text":1449},null,"2026-02-16 19:54:54","Не можете подключиться к серверу по SSH? Наше пошаговое руководство поможет диагностировать и исправить ошибки за 15 минут. Проверенные решения для Linux.","medium",false,"15-30 мин","md",[1535,1538,1541],{"question":1536,"answer":1537},"Что делать, если ssh выдает 'Permission denied (publickey)'?","Эта ошибка означает, что сервер не принял ваш SSH-ключ. Убедитесь, что публичный ключ (`~/.ssh/id_rsa.pub`) присутствует в файле `~/.ssh/authorized_keys` на сервере и права на файлы и папку строгие (700 на ~/.ssh, 600 на authorized_keys).",{"question":1539,"answer":1540},"Порт 22 закрыт, но я уверен, что демон sshd работает. В чём проблема?","Скорее всего, брандмауэр (firewalld, ufw, iptables) блокирует порт. Проверьте активные правила (`sudo firewall-cmd --list-all` для firewalld или `sudo ufw status` для ufw) и откройте порт 22/tcp.",{"question":1542,"answer":1543},"Можно ли использовать SSH без пароля, но с ключом, если у меня нет прав суперпользователя на сервере?","Да, если администратор сервера добавил ваш публичный ключ в `authorized_keys` для вашего пользователя. Ваша локальная side (клиент) должна иметь приватный ключ, и права на `~/.ssh` и ключи должны быть корректными (600/700).",[1545,1548,1551,1554,1557],{"name":1546,"text":1547},"Проверка базовой сетевой доступности","Убедитесь, что сервер доступен по сети и слушает нужный порт. Используйте `ping` и `nc` (netcat) для проверки.",{"name":1549,"text":1550},"Анализ логов SSH-демона на сервере","Подключитесь к консоли сервера (KVM, IPMI) или посмотрите логи через систему мониторинга. Изучите `/var/log/auth.log` (Debian/Ubuntu) или `/var/log/secure` (RHEL/CentOS) на предмет ошибок аутентификации.",{"name":1552,"text":1553},"Валидация конфигурации SSH-демона и прав доступа","Проверьте основные настройки в `/etc/ssh/sshd_config` (например, `PasswordAuthentication`, `PubkeyAuthentication`, `PermitRootLogin`). Убедитесь в корректности прав на домашнюю директорию пользователя и папку `~/.ssh`.",{"name":1555,"text":1556},"Проверка правил брандмауэра и SELinux/AppArmor","Убедитесь, что порт SSH (по умолчанию 22) открыт в брандмауэре. Проверьте статус SELinux (`getenforce`) или AppArmor, они могут блокировать доступ.",{"name":1558,"text":1559},"Диагностика клиентской стороны и ключей","Проверьте, что клиент использует правильный ключ (`ssh -i /путь/к/ключу`) и пользователя. Убедитесь, что приватный ключ имеет права 600. Включите подробное логирование на клиенте (`ssh -vvv`).","PT20M",[1562,1563,1564,1565,1566,1567,1568,1569],"ssh не подключается linux","ошибка ssh connection refused","ssh permission denied publickey","как исправить ssh timeout","диагностика ssh linux","ssh ошибка 22 порт","настройка ssh сервера ubuntu","проблемы с ssh ключом","ru_RU",{},"/guides/linux/ssh-troubleshooting","linux",[1502,1575,1510],"/errors/linux/ssh-connection-timeout","Гайды Linux",{"title":5,"description":1529},"guides/linux/ssh-troubleshooting","Этот гайд предоставляет системный подход к диагностике и устранению распространённых проблем с SSH-подключениями в Linux. Вы научитесь проверять сетевую доступность, настройки демона, аутентификацию и брандмауэр, чтобы быстро восстановить доступ к удалённым серверам.",[1581,64,1582,1583,1584],"гайды linux","сетевая безопасность","администрирование","troubleshooting","guide","-5pHXTs4737cbEibuJTuw_YkMaOCpaq4JkdOXaO2Ws8",{"data":1588,"body":1589},{},{"type":1590,"children":1591},"root",[1592],{"type":1593,"tag":21,"props":1594,"children":1595},"element",{},[1596,1598,1604,1606,1611],{"type":1421,"value":1597},"Эта ошибка означает, что сервер не принял ваш SSH-ключ. Убедитесь, что публичный ключ (",{"type":1593,"tag":51,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":1421,"value":1603},"~/.ssh/id_rsa.pub",{"type":1421,"value":1605},") присутствует в файле ",{"type":1593,"tag":51,"props":1607,"children":1609},{"className":1608},[],[1610],{"type":1421,"value":1141},{"type":1421,"value":1612}," на сервере и права на файлы и папку строгие (700 на ~/.ssh, 600 на authorized_keys).",{"data":1614,"body":1615},{},{"type":1590,"children":1616},[1617],{"type":1593,"tag":21,"props":1618,"children":1619},{},[1620,1622,1628,1630,1636],{"type":1421,"value":1621},"Скорее всего, брандмауэр (firewalld, ufw, iptables) блокирует порт. Проверьте активные правила (",{"type":1593,"tag":51,"props":1623,"children":1625},{"className":1624},[],[1626],{"type":1421,"value":1627},"sudo firewall-cmd --list-all",{"type":1421,"value":1629}," для firewalld или ",{"type":1593,"tag":51,"props":1631,"children":1633},{"className":1632},[],[1634],{"type":1421,"value":1635},"sudo ufw status",{"type":1421,"value":1637}," для ufw) и откройте порт 22/tcp.",{"data":1639,"body":1640},{},{"type":1590,"children":1641},[1642],{"type":1593,"tag":21,"props":1643,"children":1644},{},[1645,1647,1652,1654,1659],{"type":1421,"value":1646},"Да, если администратор сервера добавил ваш публичный ключ в ",{"type":1593,"tag":51,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":1421,"value":926},{"type":1421,"value":1653}," для вашего пользователя. Ваша локальная side (клиент) должна иметь приватный ключ, и права на ",{"type":1593,"tag":51,"props":1655,"children":1657},{"className":1656},[],[1658],{"type":1421,"value":1378},{"type":1421,"value":1660}," и ключи должны быть корректными (600/700).",{"data":1662,"body":1663},{},{"type":1590,"children":1664},[1665],{"type":1593,"tag":21,"props":1666,"children":1667},{},[1668,1670,1675,1676,1681],{"type":1421,"value":1669},"Убедитесь, что сервер доступен по сети и слушает нужный порт. Используйте ",{"type":1593,"tag":51,"props":1671,"children":1673},{"className":1672},[],[1674],{"type":1421,"value":81},{"type":1421,"value":1067},{"type":1593,"tag":51,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":1421,"value":84},{"type":1421,"value":1682}," (netcat) для проверки.",{"data":1684,"body":1685},{},{"type":1590,"children":1686},[1687],{"type":1593,"tag":21,"props":1688,"children":1689},{},[1690,1692,1697,1699,1705],{"type":1421,"value":1691},"Подключитесь к консоли сервера (KVM, IPMI) или посмотрите логи через систему мониторинга. Изучите ",{"type":1593,"tag":51,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":1421,"value":1374},{"type":1421,"value":1698}," (Debian/Ubuntu) или ",{"type":1593,"tag":51,"props":1700,"children":1702},{"className":1701},[],[1703],{"type":1421,"value":1704},"/var/log/secure",{"type":1421,"value":1706}," (RHEL/CentOS) на предмет ошибок аутентификации.",{"data":1708,"body":1709},{},{"type":1590,"children":1710},[1711],{"type":1593,"tag":21,"props":1712,"children":1713},{},[1714,1716,1721,1723,1728,1729,1734,1735,1740,1742,1747],{"type":1421,"value":1715},"Проверьте основные настройки в ",{"type":1593,"tag":51,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":1421,"value":393},{"type":1421,"value":1722}," (например, ",{"type":1593,"tag":51,"props":1724,"children":1726},{"className":1725},[],[1727],{"type":1421,"value":436},{"type":1421,"value":65},{"type":1593,"tag":51,"props":1730,"children":1732},{"className":1731},[],[1733],{"type":1421,"value":451},{"type":1421,"value":65},{"type":1593,"tag":51,"props":1736,"children":1738},{"className":1737},[],[1739],{"type":1421,"value":460},{"type":1421,"value":1741},"). Убедитесь в корректности прав на домашнюю директорию пользователя и папку ",{"type":1593,"tag":51,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":1421,"value":1378},{"type":1421,"value":224},{"data":1749,"body":1750},{},{"type":1590,"children":1751},[1752],{"type":1593,"tag":21,"props":1753,"children":1754},{},[1755,1757,1763],{"type":1421,"value":1756},"Убедитесь, что порт SSH (по умолчанию 22) открыт в брандмауэре. Проверьте статус SELinux (",{"type":1593,"tag":51,"props":1758,"children":1760},{"className":1759},[],[1761],{"type":1421,"value":1762},"getenforce",{"type":1421,"value":1764},") или AppArmor, они могут блокировать доступ.",{"data":1766,"body":1767},{},{"type":1590,"children":1768},[1769],{"type":1593,"tag":21,"props":1770,"children":1771},{},[1772,1774,1780,1782,1788],{"type":1421,"value":1773},"Проверьте, что клиент использует правильный ключ (",{"type":1593,"tag":51,"props":1775,"children":1777},{"className":1776},[],[1778],{"type":1421,"value":1779},"ssh -i /путь/к/ключу",{"type":1421,"value":1781},") и пользователя. Убедитесь, что приватный ключ имеет права 600. Включите подробное логирование на клиенте (",{"type":1593,"tag":51,"props":1783,"children":1785},{"className":1784},[],[1786],{"type":1421,"value":1787},"ssh -vvv",{"type":1421,"value":72},[1790,2260],{"id":1791,"title":1792,"appliesTo":1793,"author":11,"body":1797,"canonical":1527,"code":1527,"createdAt":2209,"description":2210,"difficulty":1530,"draft":1531,"estimatedTime":2211,"extension":1533,"faq":2212,"howToSteps":2222,"howToTotalTime":1560,"image":1527,"keywords":2235,"locale":1570,"meta":2244,"navigation":561,"path":1502,"platform":1573,"related":2245,"section":2249,"seo":2250,"severity":1527,"stem":2251,"summary":2252,"tags":2253,"twitterCreator":1527,"twitterSite":1527,"type":1585,"updatedAt":2209,"__hash__":2259},"content_ru/guides/linux/openssh-hardening.md","Укрепляем OpenSSH: пошаговая настройка безопасности сервера",[1794,9,1795,1796],"Ubuntu 22.04 / 24.04 LTS","RHEL/AlmaLinux 9","OpenSSH 8.9+",{"type":13,"value":1798,"toc":2200},[1799,1801,1804,1807,1809,1812,1834,1839,1843,1846,1851,1877,1882,1905,1910,1928,1931,1935,1938,1953,1956,1993,2013,2016,2018,2022,2028,2053,2069,2072,2086,2089,2104,2106,2109,2129,2141,2143,2155,2178,2197],[16,1800,19],{"id":18},[21,1802,1803],{},"OpenSSH по умолчанию настроен для удобства, а не для максимальной безопасности. Такая конфигурация оставляет сервер открытым для автоматических сканеров и брутфорс-атак, которые ежедневно пытаются подобрать доступ стандартными словарями.",[21,1805,1806],{},"После выполнения этого гайда вы получите защищённый SSH-доступ с отключёнными уязвимыми функциями, принудительной аутентификацией по ключам и строгими правилами контроля сессий. Вы существенно снизите поверхность атаки и защитите инфраструктуру от несанкционированного входа.",[16,1808,30],{"id":29},[21,1810,1811],{},"Перед началом убедитесь, что у вас есть:",[293,1813,1814,1822,1828,1831],{},[38,1815,1816,1817,1819,1820],{},"Доступ к серверу с правами ",[51,1818,1590],{}," или пользователя из группы ",[51,1821,53],{},[38,1823,1824,1825],{},"Резервная копия текущей конфигурации: ",[51,1826,1827],{},"sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak",[38,1829,1830],{},"Установленный SSH-клиент на вашем локальном компьютере",[38,1832,1833],{},"Чёткое понимание того, что после отключения парольного входа вы не сможете зайти без настроенного ключа",[276,1835,1836],{},[21,1837,1838],{},"⚠️ Важно: Всегда проверяйте работоспособность SSH в новом окне терминала перед закрытием текущей сессии. Это спасёт вас от блокировки сервера при случайной опечатке в конфигурации.",[16,1840,1842],{"id":1841},"шаг-1-генерация-и-настройка-аутентификации-по-ключам","Шаг 1: Генерация и настройка аутентификации по ключам",[21,1844,1845],{},"Ключи шифрования надёжнее паролей любой длины. Мы используем алгоритм Ed25519, который обеспечивает высокую скорость проверки и современную криптографическую стойкость.",[35,1847,1848],{},[38,1849,1850],{},"На локальной машине сгенерируйте пару ключей:",[107,1852,1854],{"className":109,"code":1853,"language":111,"meta":112,"style":112},"ssh-keygen -t ed25519 -C \"your_email@example.com\" -f ~/.ssh/id_ed25519_fix\n",[51,1855,1856],{"__ignoreMap":112},[116,1857,1858,1860,1863,1866,1869,1872,1874],{"class":118,"line":119},[116,1859,71],{"class":122},[116,1861,1862],{"class":173}," -t",[116,1864,1865],{"class":129}," ed25519",[116,1867,1868],{"class":173}," -C",[116,1870,1871],{"class":129}," \"your_email@example.com\"",[116,1873,314],{"class":173},[116,1875,1876],{"class":129}," ~/.ssh/id_ed25519_fix\n",[35,1878,1879],{"start":165},[38,1880,1881],{},"Установите строгие права доступа к закрытому ключу:",[107,1883,1885],{"className":109,"code":1884,"language":111,"meta":112,"style":112},"chmod 600 ~/.ssh/id_ed25519_fix\nchmod 700 ~/.ssh\n",[51,1886,1887,1896],{"__ignoreMap":112},[116,1888,1889,1892,1894],{"class":118,"line":119},[116,1890,1891],{"class":122},"chmod",[116,1893,641],{"class":173},[116,1895,1876],{"class":129},[116,1897,1898,1900,1902],{"class":118,"line":165},[116,1899,1891],{"class":122},[116,1901,630],{"class":173},[116,1903,1904],{"class":129}," ~/.ssh\n",[35,1906,1907],{"start":186},[38,1908,1909],{},"Скопируйте публичный ключ на удалённый сервер:",[107,1911,1913],{"className":109,"code":1912,"language":111,"meta":112,"style":112},"ssh-copy-id -i ~/.ssh/id_ed25519_fix.pub user@server_ip\n",[51,1914,1915],{"__ignoreMap":112},[116,1916,1917,1920,1923,1926],{"class":118,"line":119},[116,1918,1919],{"class":122},"ssh-copy-id",[116,1921,1922],{"class":173}," -i",[116,1924,1925],{"class":129}," ~/.ssh/id_ed25519_fix.pub",[116,1927,1021],{"class":129},[21,1929,1930],{},"Убедитесь, что вход по ключу проходит успешно, прежде чем двигаться дальше.",[16,1932,1934],{"id":1933},"шаг-2-отключение-уязвимых-параметров-в-sshd_config","Шаг 2: Отключение уязвимых параметров в sshd_config",[21,1936,1937],{},"Откройте конфигурационный файл демона SSH в текстовом редакторе:",[107,1939,1941],{"className":109,"code":1940,"language":111,"meta":112,"style":112},"sudo nano /etc/ssh/sshd_config\n",[51,1942,1943],{"__ignoreMap":112},[116,1944,1945,1947,1950],{"class":118,"line":119},[116,1946,53],{"class":122},[116,1948,1949],{"class":129}," nano",[116,1951,1952],{"class":129}," /etc/ssh/sshd_config\n",[21,1954,1955],{},"Найдите следующие директивы и измените их значения. Если строки отсутствуют, добавьте их явно:",[107,1957,1961],{"className":1958,"code":1959,"language":1960,"meta":112,"style":112},"language-ini shiki shiki-themes github-light github-dark","PermitRootLogin no\nPasswordAuthentication no\nChallengeResponseAuthentication no\nUsePAM yes\nX11Forwarding no\nPermitEmptyPasswords no\n","ini",[51,1962,1963,1968,1973,1978,1983,1988],{"__ignoreMap":112},[116,1964,1965],{"class":118,"line":119},[116,1966,1967],{},"PermitRootLogin no\n",[116,1969,1970],{"class":118,"line":165},[116,1971,1972],{},"PasswordAuthentication no\n",[116,1974,1975],{"class":118,"line":186},[116,1976,1977],{},"ChallengeResponseAuthentication no\n",[116,1979,1980],{"class":118,"line":192},[116,1981,1982],{},"UsePAM yes\n",[116,1984,1985],{"class":118,"line":565},[116,1986,1987],{},"X11Forwarding no\n",[116,1989,1990],{"class":118,"line":571},[116,1991,1992],{},"PermitEmptyPasswords no\n",[293,1994,1995,2001,2007],{},[38,1996,1997,2000],{},[51,1998,1999],{},"PermitRootLogin no"," — запрещает прямой вход под суперпользователем.",[38,2002,2003,2006],{},[51,2004,2005],{},"PasswordAuthentication no"," — полностью отключает уязвимый метод входа по паролям.",[38,2008,2009,2012],{},[51,2010,2011],{},"X11Forwarding no"," — отключает перенаправление графического интерфейса, если вам не нужна удалённая графика.",[21,2014,2015],{},"Сохраните файл и выйдите из редактора.",[989,2017],{},[16,2019,2021],{"id":2020},"шаг-3-ограничение-пользователей-и-управление-сессиями","Шаг 3: Ограничение пользователей и управление сессиями",[21,2023,2024,2025,2027],{},"Разрешайте доступ только тем учётным записям, которым он действительно необходим. Добавьте в конец ",[51,2026,223],{},":",[107,2029,2031],{"className":1958,"code":2030,"language":1960,"meta":112,"style":112},"AllowUsers admin deployer\nClientAliveInterval 300\nClientAliveCountMax 2\nMaxAuthTries 3\n",[51,2032,2033,2038,2043,2048],{"__ignoreMap":112},[116,2034,2035],{"class":118,"line":119},[116,2036,2037],{},"AllowUsers admin deployer\n",[116,2039,2040],{"class":118,"line":165},[116,2041,2042],{},"ClientAliveInterval 300\n",[116,2044,2045],{"class":118,"line":186},[116,2046,2047],{},"ClientAliveCountMax 2\n",[116,2049,2050],{"class":118,"line":192},[116,2051,2052],{},"MaxAuthTries 3\n",[293,2054,2055,2060],{},[38,2056,2057,2059],{},[51,2058,473],{}," — явный белый список аккаунтов. Все остальные соединения будут отклонены на этапе аутентификации.",[38,2061,2062,1067,2065,2068],{},[51,2063,2064],{},"ClientAliveInterval 300",[51,2066,2067],{},"MaxAuthTries 3"," — сервер разорвёт неактивные сессии через 5 минут и ограничит количество попыток ввода, срывая работу ботов.",[21,2070,2071],{},"Примените изменения, сначала проверив синтаксис:",[107,2073,2075],{"className":109,"code":2074,"language":111,"meta":112,"style":112},"sudo sshd -t\n",[51,2076,2077],{"__ignoreMap":112},[116,2078,2079,2081,2083],{"class":118,"line":119},[116,2080,53],{"class":122},[116,2082,1243],{"class":129},[116,2084,2085],{"class":173}," -t\n",[21,2087,2088],{},"Если терминал вернул пустой вывод, ошибок нет. Перезапустите службу:",[107,2090,2092],{"className":109,"code":2091,"language":111,"meta":112,"style":112},"sudo systemctl restart sshd\n",[51,2093,2094],{"__ignoreMap":112},[116,2095,2096,2098,2100,2102],{"class":118,"line":119},[116,2097,53],{"class":122},[116,2099,504],{"class":129},[116,2101,507],{"class":129},[116,2103,510],{"class":129},[16,2105,1260],{"id":1259},[21,2107,2108],{},"Откройте новое окно терминала и попробуйте подключиться к серверу. Вход должен пройти автоматически по ключу.\nДля проверки безопасности выполните на сервере:",[107,2110,2112],{"className":109,"code":2111,"language":111,"meta":112,"style":112},"sudo journalctl -u sshd -f\n",[51,2113,2114],{"__ignoreMap":112},[116,2115,2116,2118,2121,2124,2126],{"class":118,"line":119},[116,2117,53],{"class":122},[116,2119,2120],{"class":129}," journalctl",[116,2122,2123],{"class":173}," -u",[116,2125,1243],{"class":129},[116,2127,2128],{"class":173}," -f\n",[21,2130,2131,2132,2134,2135,212,2138,224],{},"Попробуйте подключиться с другого устройства без ключа или под пользователем, которого нет в ",[51,2133,473],{},". В логах вы должны увидеть отклонение соединения с кодом ",[51,2136,2137],{},"Authentication failed",[51,2139,2140],{},"Connection closed",[16,2142,1312],{"id":1311},[21,2144,2145,2148,2149,2151,2152,2154],{},[41,2146,2147],{},"Потеря доступа после применения настроек.","\nИспользуйте веб-консоль хостинг-провайдера (VNC/KVM) или аварийный режим восстановления (Rescue System). Откройте ",[51,2150,223],{},", временно верните ",[51,2153,1390],{}," и перезапустите службу.",[21,2156,2157,2163,2164,2166,2167,2169,2170,437,2172,2174,2175,224],{},[41,2158,2159,2160,224],{},"Ошибка ",[51,2161,2162],{},"Permission denied (publickey)","\nПроверьте права на сервере. Папка ",[51,2165,1378],{}," должна иметь права ",[51,2168,1111],{},", а файл ",[51,2171,1141],{},[51,2173,1101],{},". В системах с SELinux (RHEL, CentOS, AlmaLinux) выполните ",[51,2176,2177],{},"restorecon -Rv ~/.ssh",[21,2179,2180,2183,2184,2186,2187,212,2190,2193,2194,224],{},[41,2181,2182],{},"Сервер не принимает соединения на нестандартном порту.","\nЕсли вы сменили порт (директива ",[51,2185,483],{},"), убедитесь, что правило разрешено в файрволе (",[51,2188,2189],{},"ufw allow 1234/tcp",[51,2191,2192],{},"firewall-cmd --add-port=1234/tcp","). SELinux также требует обновления контекста порта через ",[51,2195,2196],{},"semanage port -a -t ssh_port_t -p tcp 1234",[1512,2198,2199],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":112,"searchDepth":165,"depth":165,"links":2201},[2202,2203,2204,2205,2206,2207,2208],{"id":18,"depth":165,"text":19},{"id":29,"depth":165,"text":30},{"id":1841,"depth":165,"text":1842},{"id":1933,"depth":165,"text":1934},{"id":2020,"depth":165,"text":2021},{"id":1259,"depth":165,"text":1260},{"id":1311,"depth":165,"text":1312},"2026-04-06 10:22:25","Пошаговая инструкция по защите SSH на Linux. Отключите вход от root, настройте ключи и защитите порты. За 15 минут надёжно обезопасьте ваш сервер от взлома.","15-20 мин",[2213,2216,2219],{"question":2214,"answer":2215},"Что делать, если я потерял доступ после отключения паролей?","Используйте веб-консоль хостинг-провайдера (VNC/KVM) или аварийный режим восстановления. Верните временно `PasswordAuthentication yes` в конфиге и перезапустите службу.",{"question":2217,"answer":2218},"Насколько безопасно менять стандартный порт 22?","Смена порта снижает количество автоматических сканеров, но не заменяет криптографическую защиту. Это лишь дополнительная мера безопасности через неясность.",{"question":2220,"answer":2221},"Нужно ли использовать `AllowUsers` или `AllowGroups`?","Да, это строго ограничивает список аккаунтов с SSH-доступом. Без этой директивы любой локальный пользователь сервера сможет попытаться войти.",[2223,2226,2229,2232],{"name":2224,"text":2225},"Создание и добавление SSH-ключей","Сгенерируйте пару ключей Ed25519 локально и скопируйте публичный ключ на сервер утилитой `ssh-copy-id`.",{"name":2227,"text":2228},"Редактирование конфигурации sshd","Откройте `/etc/ssh/sshd_config` и отключите парольную аутентификацию, вход от root и перенаправление графики.",{"name":2230,"text":2231},"Настройка ограничения доступа и таймаутов","Добавьте директивы `AllowUsers` и параметры контроля сессий для автоматического разрыва неактивных подключений.",{"name":2233,"text":2234},"Проверка синтаксиса и перезапуск службы","Выполните `sshd -t` для валидации конфига, перезапустите демон и проверьте вход в новом окне терминала.",[2236,2237,2238,2239,2240,2241,2242,2243],"настройка безопасности ssh","hardening openssh linux","отключить root ssh","ssh ключи вместо пароля","защита сервера от взлома ssh","конфигурация sshd_config","смена порта ssh","fail2ban для ssh",{},[2246,2247,2248],"/guides/linux/ssh-key-auth","/guides/linux/fail2ban-setup","/guides/linux/firewall-ufw","Гайды по безопасности Linux",{"title":1792,"description":2210},"guides/linux/openssh-hardening","Узнайте, как защитить Linux-сервер от брутфорса и несанкционированного доступа. Пошагово настроим ключевую аутентификацию, отключим уязвимые параметры и ограничим доступ.",[2254,2255,2256,2257,2258,223],"Linux","Безопасность","OpenSSH","sysadmin","hardening","JpEKxeWxjZZE0Vo1-gHA3JhisKR9kpmTULHFz6TXRmY",{"id":2261,"title":2262,"appliesTo":2263,"author":11,"body":2268,"canonical":1527,"code":2595,"createdAt":2596,"description":2597,"difficulty":2598,"draft":1531,"estimatedTime":2599,"extension":1533,"faq":2600,"howToSteps":2610,"howToTotalTime":2623,"image":1527,"keywords":2624,"locale":1570,"meta":2630,"navigation":561,"path":1575,"platform":1573,"related":2631,"section":2634,"seo":2635,"severity":1530,"stem":2636,"summary":2637,"tags":2638,"twitterCreator":1527,"twitterSite":1527,"type":2643,"updatedAt":2596,"__hash__":2644},"content_ru/errors/linux/ssh-connection-timeout.md","Исправляем SSH Connection Timed Out: полный гайд (2026)",[2264,2265,2266,2267],"OpenSSH 8.0+","Ubuntu 22.04 / 24.04","Debian 12","RHEL 9 / AlmaLinux 9",{"type":13,"value":2269,"toc":2584},[2270,2274,2281,2285,2308,2312,2317,2320,2343,2349,2370,2380,2384,2387,2420,2423,2456,2461,2463,2467,2470,2483,2486,2492,2509,2513,2516,2532,2541,2559,2562,2566,2581],[16,2271,2273],{"id":2272},"что-означает-ошибка-connection-timed-out","Что означает ошибка Connection timed out",[21,2275,2276,2277,2280],{},"При попытке подключиться к удалённому серверу через OpenSSH вы видите сообщение: ",[51,2278,2279],{},"ssh: connect to host \u003CIP> port 22: Connection timed out",". Это не ошибка аутентификации или проблем с ключами. Система сообщает, что отправленные TCP-пакеты (SYN) не получили ответа (SYN-ACK) в установленное время. Клиент просто устал ждать и принудительно разрывает соединение. Ошибка возникает на самом раннем этапе установления TCP-сессии, ещё до начала обмена ключами SSH.",[16,2282,2284],{"id":2283},"причины-возникновения","Причины возникновения",[293,2286,2287,2293,2296,2299,2302,2305],{},[38,2288,2289,2290,224],{},"Сервер выключен, перезагружается или зависла служба ",[51,2291,2292],{},"sshd",[38,2294,2295],{},"Входящие соединения на порт 22 блокируются фаерволом сервера (UFW, firewalld, iptables) или облачной группой безопасности.",[38,2297,2298],{},"Локальный фаервол или антивирус на вашей машине блокирует исходящий трафик по порту 22.",[38,2300,2301],{},"Некорректный IP-адрес или доменное имя, указывающее на другой, недоступный хост.",[38,2303,2304],{},"Проблемы с маршрутизацией у интернет-провайдера или сбой работы NAT-шлюза.",[38,2306,2307],{},"Слишком строгие настройки таймаута в конфигурации SSH-клиента по умолчанию.",[16,2309,2311],{"id":2310},"способы-решения","Способы решения",[2313,2314,2316],"h3",{"id":2315},"способ-1-проверка-доступности-хоста-и-сетевого-соединения","Способ 1: Проверка доступности хоста и сетевого соединения",[21,2318,2319],{},"Начните с базовой диагностики. Убедитесь, что сервер физически доступен в сети.",[107,2321,2323],{"className":109,"code":2322,"language":111,"meta":112,"style":112},"# Проверка базовой связности (может быть отключён ICMP на сервере)\nping -c 4 192.168.1.100\n",[51,2324,2325,2330],{"__ignoreMap":112},[116,2326,2327],{"class":118,"line":119},[116,2328,2329],{"class":161},"# Проверка базовой связности (может быть отключён ICMP на сервере)\n",[116,2331,2332,2334,2337,2340],{"class":118,"line":165},[116,2333,81],{"class":122},[116,2335,2336],{"class":173}," -c",[116,2338,2339],{"class":173}," 4",[116,2341,2342],{"class":173}," 192.168.1.100\n",[21,2344,2345,2346,2348],{},"Если ",[51,2347,81],{}," не проходит, проверьте IP-адрес в панели управления облачным провайдером или у хостера. Далее проверьте открыт ли именно порт 22:",[107,2350,2352],{"className":109,"code":2351,"language":111,"meta":112,"style":112},"# Использование netcat для быстрой проверки TCP-порта\nnc -zv 192.168.1.100 22\n",[51,2353,2354,2359],{"__ignoreMap":112},[116,2355,2356],{"class":118,"line":119},[116,2357,2358],{"class":161},"# Использование netcat для быстрой проверки TCP-порта\n",[116,2360,2361,2363,2365,2368],{"class":118,"line":165},[116,2362,84],{"class":122},[116,2364,246],{"class":173},[116,2366,2367],{"class":173}," 192.168.1.100",[116,2369,259],{"class":173},[21,2371,2372,2373,2376,2377,2379],{},"Успешный вывод: ",[51,2374,2375],{},"Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!",". Если команда зависает или сразу пишет ",[51,2378,1308],{},", переходите к следующим шагам.",[2313,2381,2383],{"id":2382},"способ-2-настройка-правил-фаервола","Способ 2: Настройка правил фаервола",[21,2385,2386],{},"Чаще всего порт закрыт на уровне сервера. Настройте правила в зависимости от вашей ОС.\nДля Ubuntu/Debian (UFW):",[107,2388,2390],{"className":109,"code":2389,"language":111,"meta":112,"style":112},"sudo ufw allow 22/tcp\nsudo ufw reload\nsudo ufw status\n",[51,2391,2392,2403,2411],{"__ignoreMap":112},[116,2393,2394,2396,2398,2400],{"class":118,"line":119},[116,2395,53],{"class":122},[116,2397,753],{"class":129},[116,2399,778],{"class":129},[116,2401,2402],{"class":129}," 22/tcp\n",[116,2404,2405,2407,2409],{"class":118,"line":165},[116,2406,53],{"class":122},[116,2408,753],{"class":129},[116,2410,790],{"class":129},[116,2412,2413,2415,2417],{"class":118,"line":186},[116,2414,53],{"class":122},[116,2416,753],{"class":129},[116,2418,2419],{"class":129}," status\n",[21,2421,2422],{},"Для RHEL/CentOS/AlmaLinux (firewalld):",[107,2424,2426],{"className":109,"code":2425,"language":111,"meta":112,"style":112},"sudo firewall-cmd --permanent --add-port=22/tcp\nsudo firewall-cmd --reload\nsudo firewall-cmd --list-ports\n",[51,2427,2428,2439,2447],{"__ignoreMap":112},[116,2429,2430,2432,2434,2436],{"class":118,"line":119},[116,2431,53],{"class":122},[116,2433,692],{"class":129},[116,2435,723],{"class":173},[116,2437,2438],{"class":173}," --add-port=22/tcp\n",[116,2440,2441,2443,2445],{"class":118,"line":165},[116,2442,53],{"class":122},[116,2444,692],{"class":129},[116,2446,735],{"class":173},[116,2448,2449,2451,2453],{"class":118,"line":186},[116,2450,53],{"class":122},[116,2452,692],{"class":129},[116,2454,2455],{"class":173}," --list-ports\n",[276,2457,2458],{},[21,2459,2460],{},"💡 Совет: Если вы используете облачные платформы (AWS, Google Cloud, Azure, Hetzner), проверьте настройки Security Group или Network ACL в веб-панели управления. Правила фаервола внутри ОС не сработают, если внешний блокирующий фильтр их отсекает.",[989,2462],{},[2313,2464,2466],{"id":2465},"способ-3-увеличение-таймаута-в-конфигурации-ssh-клиента","Способ 3: Увеличение таймаута в конфигурации SSH-клиента",[21,2468,2469],{},"Иногда сеть работает медленно из-за высокой задержки, а стандартный таймаут OpenSSH слишком короткий. Вы можете увеличить время ожидания глобально или для конкретного хоста.\nОткройте файл конфигурации клиента:",[107,2471,2473],{"className":109,"code":2472,"language":111,"meta":112,"style":112},"nano ~/.ssh/config\n",[51,2474,2475],{"__ignoreMap":112},[116,2476,2477,2480],{"class":118,"line":119},[116,2478,2479],{"class":122},"nano",[116,2481,2482],{"class":129}," ~/.ssh/config\n",[21,2484,2485],{},"Добавьте следующие строки:",[107,2487,2490],{"className":2488,"code":2489,"language":1421,"meta":112},[1419],"Host *\n    ConnectTimeout 30\n    ServerAliveInterval 15\n    ServerAliveCountMax 4\n",[51,2491,2489],{"__ignoreMap":112},[21,2493,2494,2497,2498,1067,2501,2504,2505,2508],{},[51,2495,2496],{},"ConnectTimeout"," задаёт время ожидания установки TCP-соединения в секундах. ",[51,2499,2500],{},"ServerAliveInterval",[51,2502,2503],{},"ServerAliveCountMax"," помогают поддерживать активную сессию при нестабильном интернете. Сохраните файл (",[51,2506,2507],{},"Ctrl+O","), закройте редактор и переподключитесь.",[2313,2510,2512],{"id":2511},"способ-4-проверка-маршрутизации-и-dns-резолвинга","Способ 4: Проверка маршрутизации и DNS-резолвинга",[21,2514,2515],{},"Если вы подключаетесь по доменному имени, убедитесь, что оно преобразуется в правильный IP:",[107,2517,2519],{"className":109,"code":2518,"language":111,"meta":112,"style":112},"dig +short example.com\n",[51,2520,2521],{"__ignoreMap":112},[116,2522,2523,2526,2529],{"class":118,"line":119},[116,2524,2525],{"class":122},"dig",[116,2527,2528],{"class":129}," +short",[116,2530,2531],{"class":129}," example.com\n",[21,2533,2534,2535,2537,2538,2027],{},"Если возвращается несколько адресов или неверный, очистите локальный кэш DNS или используйте прямой IP в команде ",[51,2536,64],{},". Для анализа потери пакетов на пути к серверу используйте утилиту ",[51,2539,2540],{},"mtr",[107,2542,2544],{"className":109,"code":2543,"language":111,"meta":112,"style":112},"mtr -n -c 50 192.168.1.100\n",[51,2545,2546],{"__ignoreMap":112},[116,2547,2548,2550,2552,2554,2557],{"class":118,"line":119},[116,2549,2540],{"class":122},[116,2551,817],{"class":173},[116,2553,2336],{"class":173},[116,2555,2556],{"class":173}," 50",[116,2558,2342],{"class":173},[21,2560,2561],{},"Высокий процент потерь (Loss%) на промежуточных узлах указывает на проблему провайдера. В таком случае попробуйте подключиться через мобильный интернет (режим модема) или обратитесь в поддержку хостинга с результатами трассировки.",[16,2563,2565],{"id":2564},"профилактика","Профилактика",[21,2567,2568,2569,1067,2571,2573,2574,2576,2577,2580],{},"Чтобы избежать повторения сбоев, всегда настраивайте автоматическое поддержание сессии через параметры ",[51,2570,2500],{},[51,2572,2503],{},". Регулярно проверяйте статус службы ",[51,2575,2292],{}," командой ",[51,2578,2579],{},"systemctl status sshd",". Для критичных серверов используйте резервный доступ: аварийную консоль провайдера (VNC/IPMI), WireGuard-туннель или альтернативный порт SSH (например, 2222), который реже сканируется ботами и реже попадает в базовые блокировки провайдеров. Документируйте изменения в фаерволе в едином репозитории инфраструктуры (Ansible, Terraform), чтобы быстро откатить ошибочные правила.",[1512,2582,2583],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .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 .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":112,"searchDepth":165,"depth":165,"links":2585},[2586,2587,2588,2594],{"id":2272,"depth":165,"text":2273},{"id":2283,"depth":165,"text":2284},{"id":2310,"depth":165,"text":2311,"children":2589},[2590,2591,2592,2593],{"id":2315,"depth":186,"text":2316},{"id":2382,"depth":186,"text":2383},{"id":2465,"depth":186,"text":2466},{"id":2511,"depth":186,"text":2512},{"id":2564,"depth":165,"text":2565},"ETIMEDOUT","2026-04-04 23:22:24","Пошаговое решение ошибки таймаута при подключении по SSH. Проверенные способы восстановления доступа за 10 минут. Настройте сеть и фаервол!","easy","10-15 мин",[2601,2604,2607],{"question":2602,"answer":2603},"Почему появляется ошибка Connection timed out при подключении по SSH?","Чаще всего это указывает на то, что пакеты не доходят до сервера из-за блокировки фаерволом, неверного IP-адреса или падения сетевого маршрута.",{"question":2605,"answer":2606},"Как проверить, доступен ли порт 22 на удалённом сервере?","Используйте команду `nc -zv \u003Cip> 22` или `telnet \u003Cip> 22`. Если соединение устанавливается, порт открыт, ищите проблему в конфигурации SSH-демона.",{"question":2608,"answer":2609},"Можно ли увеличить таймаут ожидания подключения в SSH-клиенте?","Да, добавьте в `~/.ssh/config` параметр `ConnectTimeout 30` или запускайте клиент с флагом `-o ConnectTimeout=30`.",[2611,2614,2617,2620],{"name":2612,"text":2613},"Проверка доступности хоста и сетевого соединения","Убедитесь, что сервер включён и порт 22 открыт, используя утилиту `nc` или `telnet`.",{"name":2615,"text":2616},"Настройка правил фаервола (UFW/iptables)","Откройте порт 22 входящих соединений на сервере и локальной машине, если он заблокирован.",{"name":2618,"text":2619},"Настройка таймаута в SSH-клиенте","Увеличьте время ожидания ответа сервера через параметр ConnectTimeout в конфигурации.",{"name":2621,"text":2622},"Проверка маршрутизации и DNS","Убедитесь, что доменное имя резолвится в корректный IP-адрес и пакеты не теряются на промежуточных узлах.","PT15M",[2625,2626,2627,2628,2629,1565],"ssh connection timed out","ssh connect to host connection timed out","ошибка таймаута ssh linux","не подключиться к серверу по ssh","ssh ошибка порт 22 закрыт",{},[2246,2632,2633],"/errors/linux/ssh-permission-denied-publickey","/guides/linux/configure-ufw-firewall","Ошибки Linux",{"title":2262,"description":2597},"errors/linux/ssh-connection-timeout","Разберём причины сбоя подключения по SSH и устраним ошибку таймаута с помощью проверки сети, фаервола и настроек клиента. Вы быстро вернёте стабильный доступ к серверу.",[2639,2254,2640,2641,2642,1583],"SSH","сетевые ошибки","timeout","networking","error","HVsTCUb1C3Y2XAQBmn6atOmJ4KDPJ9wgRnovaOQguEw"]