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