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