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