[{"data":1,"prerenderedAt":388},["ShallowReactive",2],{"wiki-/wiki/security/ssh-hardening":3},{"id":4,"title":5,"body":6,"description":379,"extension":380,"meta":381,"navigation":382,"path":383,"section":384,"seo":385,"stem":386,"__hash__":387},"wiki/wiki/security/ssh-hardening.md","Защита SSH",{"type":7,"value":8,"toc":367},"minimark",[9,21,27,30,35,38,42,60,64,87,91,94,115,118,126,133,136,149,152,168,174,178,181,200,203,209,212,230,234,247,257,263,273,277,283,292,309,315,319,338,342,363],[10,11,12,16,17,20],"p",{},[13,14,15],"strong",{},"Время:"," 15 мин · ",[13,18,19],{},"Сложность:"," ★★☆☆☆",[10,22,23,26],{},[13,24,25],{},"Подходит:"," ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9",[28,29],"hr",{},[31,32,34],"h2",{"id":33},"краткое-описание","Краткое описание",[10,36,37],{},"SSH — основной способ управления VPS. По умолчанию он открыт для всего интернета, принимает пароли и разрешает вход root. Изменив несколько параметров в конфигурации, вы закроете большинство векторов атак: перебор паролей, прямой взлом root-аккаунта и сканирование стандартного порта.",[31,39,41],{"id":40},"когда-пригодится","Когда пригодится",[43,44,45,49,57],"ul",{},[46,47,48],"li",{},"После первого подключения к новому серверу",[46,50,51,52,56],{},"Если в логах (",[53,54,55],"code",{},"/var/log/auth.log",") видите сотни неудачных попыток входа",[46,58,59],{},"Перед тем как открыть сервер для публичного доступа",[31,61,63],{"id":62},"что-понадобится","Что понадобится",[43,65,66,69,76],{},[46,67,68],{},"Доступ к серверу по SSH",[46,70,71,72,75],{},"Заранее добавленный SSH-ключ в ",[53,73,74],{},"~/.ssh/authorized_keys"," (обязательно перед отключением паролей)",[46,77,78,79,82,83,86],{},"Текстовый редактор (",[53,80,81],{},"nano",", ",[53,84,85],{},"vim",")",[31,88,90],{"id":89},"пошаговая-инструкция","Пошаговая инструкция",[10,92,93],{},"Откройте конфигурационный файл SSH:",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","nano /etc/ssh/sshd_config\n","bash","",[53,102,103],{"__ignoreMap":100},[104,105,108,111],"span",{"class":106,"line":107},"line",1,[104,109,81],{"class":110},"sBMFI",[104,112,114],{"class":113},"sfazB"," /etc/ssh/sshd_config\n",[10,116,117],{},"Найдите и измените (или добавьте) следующие параметры:",[95,119,124],{"className":120,"code":122,"language":123},[121],"language-text","# Отключить парольный вход — только ключи\nPasswordAuthentication no\n\n# Запретить вход root напрямую\nPermitRootLogin no\n\n# Разрешить только конкретных пользователей\nAllowUsers youruser\n\n# Сменить порт (опционально, снижает шум в логах)\nPort 2222\n\n# Ограничить число попыток аутентификации\nMaxAuthTries 3\n","text",[53,125,122],{"__ignoreMap":100},[10,127,128,129,132],{},"Замените ",[53,130,131],{},"youruser"," на имя вашего пользователя. Если планируете сменить порт — не забудьте открыть его в файрволе до перезапуска SSH.",[10,134,135],{},"Проверьте конфигурацию на синтаксические ошибки:",[95,137,139],{"className":97,"code":138,"language":99,"meta":100,"style":100},"sshd -t\n",[53,140,141],{"__ignoreMap":100},[104,142,143,146],{"class":106,"line":107},[104,144,145],{"class":110},"sshd",[104,147,148],{"class":113}," -t\n",[10,150,151],{},"Если ошибок нет, перезапустите службу:",[95,153,155],{"className":97,"code":154,"language":99,"meta":100,"style":100},"systemctl restart sshd\n",[53,156,157],{"__ignoreMap":100},[104,158,159,162,165],{"class":106,"line":107},[104,160,161],{"class":110},"systemctl",[104,163,164],{"class":113}," restart",[104,166,167],{"class":113}," sshd\n",[10,169,170,173],{},[13,171,172],{},"Не закрывайте текущую SSH-сессию."," Откройте новое окно терминала и проверьте, что вход по ключу работает — только после этого можно быть уверены в корректности настроек.",[31,175,177],{"id":176},"проверка-результата","Проверка результата",[10,179,180],{},"Попытайтесь войти с паролем из нового терминала:",[95,182,184],{"className":97,"code":183,"language":99,"meta":100,"style":100},"ssh -o PreferredAuthentications=password user@your-server\n",[53,185,186],{"__ignoreMap":100},[104,187,188,191,194,197],{"class":106,"line":107},[104,189,190],{"class":110},"ssh",[104,192,193],{"class":113}," -o",[104,195,196],{"class":113}," PreferredAuthentications=password",[104,198,199],{"class":113}," user@your-server\n",[10,201,202],{},"Ответ должен быть:",[95,204,207],{"className":205,"code":206,"language":123},[121],"Permission denied (publickey).\n",[53,208,206],{"__ignoreMap":100},[10,210,211],{},"Если меняли порт, проверьте подключение явно:",[95,213,215],{"className":97,"code":214,"language":99,"meta":100,"style":100},"ssh -p 2222 user@your-server\n",[53,216,217],{"__ignoreMap":100},[104,218,219,221,224,228],{"class":106,"line":107},[104,220,190],{"class":110},[104,222,223],{"class":113}," -p",[104,225,227],{"class":226},"sbssI"," 2222",[104,229,199],{"class":113},[31,231,233],{"id":232},"возможные-ошибки","Возможные ошибки",[10,235,236,239,240,243,244,246],{},[13,237,238],{},"Потеряли доступ к серверу"," — бывает, если отключили пароли до того как убедились что ключ работает. Откройте VNC-консоль в панели VMmanager, войдите как root и верните ",[53,241,242],{},"PasswordAuthentication yes",", затем перезапустите ",[53,245,145],{},".",[10,248,249,252,253,256],{},[13,250,251],{},"sshd не запускается после изменений"," — скорее всего синтаксическая ошибка в конфиге. Запустите ",[53,254,255],{},"sshd -t"," чтобы найти строку с ошибкой, исправьте и повторите.",[10,258,259,262],{},[13,260,261],{},"AllowUsers не пускает нужного пользователя"," — убедитесь что имя написано без опечаток и без лишних пробелов. Директива чувствительна к регистру.",[10,264,265,268,269,272],{},[13,266,267],{},"Порт уже занят"," — проверьте ",[53,270,271],{},"ss -tlnp | grep 2222",". Выберите другой свободный порт.",[31,274,276],{"id":275},"faq","FAQ",[10,278,279,282],{},[13,280,281],{},"Нужно ли менять порт?","\nЭто не обязательная мера безопасности, но сокращает количество попыток перебора в логах. Если у вас настроен Fail2Ban, смена порта менее критична.",[10,284,285,288,289,246],{},[13,286,287],{},"Можно ли разрешить несколько пользователей в AllowUsers?","\nДа, перечислите их через пробел: ",[53,290,291],{},"AllowUsers alice bob deploy",[10,293,294,297,298,301,302,305,306,308],{},[13,295,296],{},"Как добавить SSH-ключ если я ещё этого не сделал?","\nС вашего локального компьютера выполните: ",[53,299,300],{},"ssh-copy-id user@your-server",". Или вручную добавьте содержимое ",[53,303,304],{},"~/.ssh/id_rsa.pub"," в файл ",[53,307,74],{}," на сервере.",[10,310,311,314],{},[13,312,313],{},"Что такое MaxAuthTries?","\nМаксимальное количество попыток аутентификации за одно соединение. После достижения лимита SSH разрывает соединение.",[31,316,318],{"id":317},"полезные-ссылки","Полезные ссылки",[43,320,321,327,332],{},[46,322,323,326],{},[53,324,325],{},"man sshd_config"," — полная документация по параметрам конфигурации",[46,328,329,331],{},[53,330,55],{}," — лог попыток входа (Ubuntu/Debian)",[46,333,334,337],{},[53,335,336],{},"/var/log/secure"," — лог входов на AlmaLinux",[31,339,341],{"id":340},"следующие-статьи","Следующие статьи",[43,343,344,351,357],{},[46,345,346],{},[347,348,350],"a",{"href":349},"/wiki/linux/ssh","Работа с SSH-ключами",[46,352,353],{},[347,354,356],{"href":355},"/wiki/security/fail2ban","Защита от брутфорса с Fail2Ban",[46,358,359],{},[347,360,362],{"href":361},"/wiki/vps-management/console","VNC-консоль для аварийного доступа",[364,365,366],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":100,"searchDepth":368,"depth":368,"links":369},2,[370,371,372,373,374,375,376,377,378],{"id":33,"depth":368,"text":34},{"id":40,"depth":368,"text":41},{"id":62,"depth":368,"text":63},{"id":89,"depth":368,"text":90},{"id":176,"depth":368,"text":177},{"id":232,"depth":368,"text":233},{"id":275,"depth":368,"text":276},{"id":317,"depth":368,"text":318},{"id":340,"depth":368,"text":341},"Как ограничить доступ к SSH и снизить риск взлома сервера.","md",{},true,"/wiki/security/ssh-hardening","Безопасность",{"title":5,"description":379},"wiki/security/ssh-hardening","TC-gka1V5aKYQNFehBe3MpvwSLm2EKzhUNjdEzRPZwg",1788285515537]