[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/linux-ssh-keys-management":3,"mdc-1oz9o6-key":497,"mdc--u4jmik-key":508,"mdc--1bc3db-key":554,"mdc--souk0u-key":578,"mdc-az7eme-key":594,"mdc--zdlwq9-key":611,"mdc--a5ns8x-key":635,"mdc--g995o3-key":658,"related-/guides/linux/linux-ssh-config-multiple-keys,/guides/linux/linux-permissions-errors-ssh":693},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":435,"code":435,"createdAt":436,"description":437,"difficulty":438,"draft":439,"estimatedTime":440,"extension":441,"faq":442,"howToSteps":455,"howToTotalTime":468,"image":435,"keywords":469,"locale":477,"meta":478,"navigation":479,"path":480,"platform":481,"related":482,"section":485,"seo":486,"severity":435,"stem":487,"summary":488,"tags":489,"twitterCreator":435,"twitterSite":435,"type":495,"updatedAt":436,"__hash__":496},"content_ru/guides/linux/linux-ssh-keys-management.md","Управление SSH-ключами в Linux: безопасная настройка и хранение",[7,8,9,10],"Ubuntu 22.04+","Debian 11+","CentOS 8 / AlmaLinux 8+","OpenSSH 8.0+","FixPedia Team",{"type":13,"value":14,"toc":425},"minimark",[15,20,24,28,52,56,59,91,105,112,116,119,157,160,163,167,174,192,195,216,226,240,244,251,291,302,306,309,325,328,356,362,366,421],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Правильное управление SSH-ключами в Linux экономит часы на ручном вводе паролей и снижает риск компрометации серверов. Вместо слабых или повторяемых паролей вы получаете криптографически стойкую аутентификацию, которую легко масштабировать на десятки хостов. После выполнения этого гайда вы сможете создавать ключи, безопасно копировать их на серверы и управлять доступом через удобный конфиг.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[29,30,31,35,43,46],"ul",{},[32,33,34],"li",{},"Клиент и сервер с OpenSSH версии не ниже 8.0.",[32,36,37,38,42],{},"Ваш пользователь в Linux с правом записи в ",[39,40,41],"code",{},"~/.ssh",".",[32,44,45],{},"Сетевой доступ к серверу по порту 22 (или кастомному) и разрешённый вход по ключам.",[32,47,48,49,42],{},"Базовые права на сервере: возможность редактировать ",[39,50,51],{},"~/.ssh/authorized_keys",[16,53,55],{"id":54},"шаг-1-сгенерировать-новую-пару-ssh-ключей","Шаг 1: Сгенерировать новую пару SSH-ключей",[21,57,58],{},"Откройте терминал и выполните:",[60,61,66],"pre",{"className":62,"code":63,"language":64,"meta":65,"style":65},"language-bash shiki shiki-themes github-light github-dark","ssh-keygen -t ed25519 -C \"work-laptop-2026\"\n","bash","",[39,67,68],{"__ignoreMap":65},[69,70,73,77,81,85,88],"span",{"class":71,"line":72},"line",1,[69,74,76],{"class":75},"sScJk","ssh-keygen",[69,78,80],{"class":79},"sj4cs"," -t",[69,82,84],{"class":83},"sZZnC"," ed25519",[69,86,87],{"class":79}," -C",[69,89,90],{"class":83}," \"work-laptop-2026\"\n",[29,92,93,99],{},[32,94,95,98],{},[39,96,97],{},"-t ed25519"," — современный и безопасный алгоритм, предпочтительный для новых ключей.",[32,100,101,104],{},[39,102,103],{},"-C"," добавляет комментарий, который поможет отличить ключи, если их будет несколько.",[21,106,107,108,111],{},"Скрипт предложит путь (по умолчанию ",[39,109,110],{},"~/.ssh/id_ed25519",") и парольную фразу. Если ключ будет использоваться скриптами без участия человека, пароль можно оставить пустым, но для интерактивных сессий обязательно задайте надёжную фразу.",[16,113,115],{"id":114},"шаг-2-настроить-права-доступа-к-каталогу-и-файлам","Шаг 2: Настроить права доступа к каталогу и файлам",[21,117,118],{},"OpenSSH игнорирует ключи, если на них слишком мягкие права. Выполните:",[60,120,122],{"className":62,"code":121,"language":64,"meta":65,"style":65},"chmod 700 ~/.ssh\nchmod 600 ~/.ssh/id_ed25519\nchmod 644 ~/.ssh/id_ed25519.pub\n",[39,123,124,135,146],{"__ignoreMap":65},[69,125,126,129,132],{"class":71,"line":72},[69,127,128],{"class":75},"chmod",[69,130,131],{"class":79}," 700",[69,133,134],{"class":83}," ~/.ssh\n",[69,136,138,140,143],{"class":71,"line":137},2,[69,139,128],{"class":75},[69,141,142],{"class":79}," 600",[69,144,145],{"class":83}," ~/.ssh/id_ed25519\n",[69,147,149,151,154],{"class":71,"line":148},3,[69,150,128],{"class":75},[69,152,153],{"class":79}," 644",[69,155,156],{"class":83}," ~/.ssh/id_ed25519.pub\n",[21,158,159],{},"Это гарантирует, что приватный ключ недоступен другим пользователям, а публичный — доступен только для чтения владельцем.",[161,162],"in-article-ad",{},[16,164,166],{"id":165},"шаг-3-скопировать-публичный-ключ-на-удалённый-сервер","Шаг 3: Скопировать публичный ключ на удалённый сервер",[21,168,169,170,173],{},"Самый надёжный способ — использовать ",[39,171,172],{},"ssh-copy-id",":",[60,175,177],{"className":62,"code":176,"language":64,"meta":65,"style":65},"ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host\n",[39,178,179],{"__ignoreMap":65},[69,180,181,183,186,189],{"class":71,"line":72},[69,182,172],{"class":75},[69,184,185],{"class":79}," -i",[69,187,188],{"class":83}," ~/.ssh/id_ed25519.pub",[69,190,191],{"class":83}," user@host\n",[21,193,194],{},"Если на сервере отключен вход по паролю или порт отличается от 22, укажите его явно:",[60,196,198],{"className":62,"code":197,"language":64,"meta":65,"style":65},"ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@host\n",[39,199,200],{"__ignoreMap":65},[69,201,202,204,206,208,211,214],{"class":71,"line":72},[69,203,172],{"class":75},[69,205,185],{"class":79},[69,207,188],{"class":83},[69,209,210],{"class":79}," -p",[69,212,213],{"class":79}," 2222",[69,215,191],{"class":83},[21,217,218,219,222,223,225],{},"При ручном добавлении скопируйте содержимое ",[39,220,221],{},".pub"," и вставьте его в ",[39,224,51],{}," на сервере, затем выполните:",[60,227,229],{"className":62,"code":228,"language":64,"meta":65,"style":65},"chmod 600 ~/.ssh/authorized_keys\n",[39,230,231],{"__ignoreMap":65},[69,232,233,235,237],{"class":71,"line":72},[69,234,128],{"class":75},[69,236,142],{"class":79},[69,238,239],{"class":83}," ~/.ssh/authorized_keys\n",[16,241,243],{"id":242},"шаг-4-настроить-короткие-алиасы-через-sshconfig","Шаг 4: Настроить короткие алиасы через ~/.ssh/config",[21,245,246,247,250],{},"Создайте или отредактируйте ",[39,248,249],{},"~/.ssh/config",", чтобы не вводить длинные строки при каждом подключении:",[60,252,256],{"className":253,"code":254,"language":255,"meta":65,"style":65},"language-ini shiki shiki-themes github-light github-dark","Host work-server\n    HostName 192.168.1.50\n    User deploy\n    Port 22\n    IdentityFile ~/.ssh/id_ed25519\n    IdentitiesOnly yes\n","ini",[39,257,258,263,268,273,279,285],{"__ignoreMap":65},[69,259,260],{"class":71,"line":72},[69,261,262],{},"Host work-server\n",[69,264,265],{"class":71,"line":137},[69,266,267],{},"    HostName 192.168.1.50\n",[69,269,270],{"class":71,"line":148},[69,271,272],{},"    User deploy\n",[69,274,276],{"class":71,"line":275},4,[69,277,278],{},"    Port 22\n",[69,280,282],{"class":71,"line":281},5,[69,283,284],{},"    IdentityFile ~/.ssh/id_ed25519\n",[69,286,288],{"class":71,"line":287},6,[69,289,290],{},"    IdentitiesOnly yes\n",[21,292,293,294,297,298,301],{},"Теперь достаточно набрать ",[39,295,296],{},"ssh work-server",". Опция ",[39,299,300],{},"IdentitiesOnly yes"," предотвращает случайную отправку всех ключей и ускоряет аутентификацию.",[16,303,305],{"id":304},"проверка-результата","Проверка результата",[21,307,308],{},"Убедитесь, что ключ работает и не запрашивает пароль:",[60,310,312],{"className":62,"code":311,"language":64,"meta":65,"style":65},"ssh -T work-server\n",[39,313,314],{"__ignoreMap":65},[69,315,316,319,322],{"class":71,"line":72},[69,317,318],{"class":75},"ssh",[69,320,321],{"class":79}," -T",[69,323,324],{"class":83}," work-server\n",[21,326,327],{},"Если вы используете несколько ключей, проверьте, какой именно предлагается серверу:",[60,329,331],{"className":62,"code":330,"language":64,"meta":65,"style":65},"ssh -v work-server 2>&1 | grep \"Offering public key\"\n",[39,332,333],{"__ignoreMap":65},[69,334,335,337,340,343,347,350,353],{"class":71,"line":72},[69,336,318],{"class":75},[69,338,339],{"class":79}," -v",[69,341,342],{"class":83}," work-server",[69,344,346],{"class":345},"szBVR"," 2>&1",[69,348,349],{"class":345}," |",[69,351,352],{"class":75}," grep",[69,354,355],{"class":83}," \"Offering public key\"\n",[21,357,358,359,42],{},"Также полезно проверить права на сервере и наличие вашего ключа в ",[39,360,361],{},"authorized_keys",[16,363,365],{"id":364},"возможные-проблемы","Возможные проблемы",[29,367,368,388,402,408],{},[32,369,370,374,375,377,378,380,381,384,385,42],{},[371,372,373],"strong",{},"«Permission denied (publickey)»"," — проверьте права на ",[39,376,41],{}," и ",[39,379,361],{},", а также наличие ключа в файле. Убедитесь, что в ",[39,382,383],{},"/etc/ssh/sshd_config"," разрешён ",[39,386,387],{},"PubkeyAuthentication yes",[32,389,390,393,394,397,398,401],{},[371,391,392],{},"Агент не предлагает ключ"," — запустите ",[39,395,396],{},"ssh-add ~/.ssh/id_ed25519"," и убедитесь, что ",[39,399,400],{},"ssh-agent"," запущен.",[32,403,404,407],{},[371,405,406],{},"Ключ игнорируется из-за слишком открытых прав"," — OpenSSH откажется использовать приватный ключ, если он доступен на запись другим пользователям. Исправьте права командами из шага 2.",[32,409,410,413,414,417,418,42],{},[371,411,412],{},"Не работает вход по паролю после копирования ключа"," — проверьте ",[39,415,416],{},"PasswordAuthentication"," в конфиге сервера и перезапустите службу ",[39,419,420],{},"sshd",[422,423,424],"style",{},"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);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":65,"searchDepth":137,"depth":137,"links":426},[427,428,429,430,431,432,433,434],{"id":18,"depth":137,"text":19},{"id":26,"depth":137,"text":27},{"id":54,"depth":137,"text":55},{"id":114,"depth":137,"text":115},{"id":165,"depth":137,"text":166},{"id":242,"depth":137,"text":243},{"id":304,"depth":137,"text":305},{"id":364,"depth":137,"text":365},null,"2026-04-28 18:57:30","Пошаговая инструкция по созданию, настройке и безопасному хранению SSH-ключей в Linux. Проверенные решения для надёжного доступа к серверам за 10 минут.","easy",false,"10-15 мин","md",[443,446,449,452],{"question":444,"answer":445},"Нужно ли защищать приватный ключ паролем, если он используется только локально?","Да — даже локальный ключ может быть скомпрометирован при доступе к вашей учётке. Пароль (passphrase) добавляет второй фактор при использовании ключа.",{"question":447,"answer":448},"Как добавить ключ для нескольких серверов и не путаться в именах?","Используйте `~/.ssh/config`, задавайте `Host`, `HostName` и `IdentityFile` для каждого сервера. Это позволит подключаться короткой командой `ssh myserver`.",{"question":450,"answer":451},"Почему ssh-copy-id пишет «Permission denied» при копировании ключа?","Обычно это из-за запрета на вход по паролю или прав на `~/.ssh/authorized_keys` на сервере. Проверьте `PasswordAuthentication yes` и права 600 на файл ключей.",{"question":453,"answer":454},"Можно ли использовать один ключ для разных пользователей и серверов?","Технически можно, но это снижает контроль. Лучше создавать отдельные ключи или использовать разные комментарии (`-C`), чтобы понимать, где и кем они применяются.",[456,459,462,465],{"name":457,"text":458},"Сгенерировать новую пару SSH-ключей","Выполните `ssh-keygen -t ed25519 -C \"comment\"`, укажите путь и, при желании, защитите ключ паролем.",{"name":460,"text":461},"Настроить права доступа к каталогу и файлам","Установите `chmod 700 ~/.ssh` и `chmod 600 ~/.ssh/id_ed25519`, чтобы OpenSSH доверял вашим ключам.",{"name":463,"text":464},"Скопировать публичный ключ на удалённый сервер","Используйте `ssh-copy-id user@host` или добавьте ключ вручную в `~/.ssh/authorized_keys` с правами 600.",{"name":466,"text":467},"Настроить короткие алиасы через ~/.ssh/config","Опишите хосты с `Host`, `HostName`, `User` и `IdentityFile`, чтобы подключаться короткими командами без лишних флагов.","PT15M",[470,471,472,473,474,475,476],"управление ssh ключами linux","создать ssh ключ linux","скопировать публичный ключ на сервер","ssh-keygen настройка прав","ssh-copy-id не работает","права на .ssh 700 linux","ssh config несколько ключей","ru_RU",{},true,"/guides/linux/linux-ssh-keys-management","linux",[483,484],"/guides/linux/linux-ssh-config-multiple-keys","/guides/linux/linux-permissions-errors-ssh","Гайды Linux",{"title":5,"description":437},"guides/linux/linux-ssh-keys-management","Гайд рассказывает, как сгенерировать, скопировать и защитить SSH-ключи в Linux, настроить доступ к серверам и избежать типичных ошибок при подключении.",[490,491,492,493,76,172,494],"SSH","ключи","безопасность","Linux","OpenSSH","guide","YqbXrZTVuaPRXQNG42KL8RZQtvmxbq4wClLjSi2Hdkg",{"data":498,"body":499},{},{"type":500,"children":501},"root",[502],{"type":503,"tag":21,"props":504,"children":505},"element",{},[506],{"type":507,"value":445},"text",{"data":509,"body":510},{},{"type":500,"children":511},[512],{"type":503,"tag":21,"props":513,"children":514},{},[515,517,522,524,530,532,538,539,545,547,553],{"type":507,"value":516},"Используйте ",{"type":503,"tag":39,"props":518,"children":520},{"className":519},[],[521],{"type":507,"value":249},{"type":507,"value":523},", задавайте ",{"type":503,"tag":39,"props":525,"children":527},{"className":526},[],[528],{"type":507,"value":529},"Host",{"type":507,"value":531},", ",{"type":503,"tag":39,"props":533,"children":535},{"className":534},[],[536],{"type":507,"value":537},"HostName",{"type":507,"value":377},{"type":503,"tag":39,"props":540,"children":542},{"className":541},[],[543],{"type":507,"value":544},"IdentityFile",{"type":507,"value":546}," для каждого сервера. Это позволит подключаться короткой командой ",{"type":503,"tag":39,"props":548,"children":550},{"className":549},[],[551],{"type":507,"value":552},"ssh myserver",{"type":507,"value":42},{"data":555,"body":556},{},{"type":500,"children":557},[558],{"type":503,"tag":21,"props":559,"children":560},{},[561,563,568,570,576],{"type":507,"value":562},"Обычно это из-за запрета на вход по паролю или прав на ",{"type":503,"tag":39,"props":564,"children":566},{"className":565},[],[567],{"type":507,"value":51},{"type":507,"value":569}," на сервере. Проверьте ",{"type":503,"tag":39,"props":571,"children":573},{"className":572},[],[574],{"type":507,"value":575},"PasswordAuthentication yes",{"type":507,"value":577}," и права 600 на файл ключей.",{"data":579,"body":580},{},{"type":500,"children":581},[582],{"type":503,"tag":21,"props":583,"children":584},{},[585,587,592],{"type":507,"value":586},"Технически можно, но это снижает контроль. Лучше создавать отдельные ключи или использовать разные комментарии (",{"type":503,"tag":39,"props":588,"children":590},{"className":589},[],[591],{"type":507,"value":103},{"type":507,"value":593},"), чтобы понимать, где и кем они применяются.",{"data":595,"body":596},{},{"type":500,"children":597},[598],{"type":503,"tag":21,"props":599,"children":600},{},[601,603,609],{"type":507,"value":602},"Выполните ",{"type":503,"tag":39,"props":604,"children":606},{"className":605},[],[607],{"type":507,"value":608},"ssh-keygen -t ed25519 -C \"comment\"",{"type":507,"value":610},", укажите путь и, при желании, защитите ключ паролем.",{"data":612,"body":613},{},{"type":500,"children":614},[615],{"type":503,"tag":21,"props":616,"children":617},{},[618,620,626,627,633],{"type":507,"value":619},"Установите ",{"type":503,"tag":39,"props":621,"children":623},{"className":622},[],[624],{"type":507,"value":625},"chmod 700 ~/.ssh",{"type":507,"value":377},{"type":503,"tag":39,"props":628,"children":630},{"className":629},[],[631],{"type":507,"value":632},"chmod 600 ~/.ssh/id_ed25519",{"type":507,"value":634},", чтобы OpenSSH доверял вашим ключам.",{"data":636,"body":637},{},{"type":500,"children":638},[639],{"type":503,"tag":21,"props":640,"children":641},{},[642,643,649,651,656],{"type":507,"value":516},{"type":503,"tag":39,"props":644,"children":646},{"className":645},[],[647],{"type":507,"value":648},"ssh-copy-id user@host",{"type":507,"value":650}," или добавьте ключ вручную в ",{"type":503,"tag":39,"props":652,"children":654},{"className":653},[],[655],{"type":507,"value":51},{"type":507,"value":657}," с правами 600.",{"data":659,"body":660},{},{"type":500,"children":661},[662],{"type":503,"tag":21,"props":663,"children":664},{},[665,667,672,673,678,679,685,686,691],{"type":507,"value":666},"Опишите хосты с ",{"type":503,"tag":39,"props":668,"children":670},{"className":669},[],[671],{"type":507,"value":529},{"type":507,"value":531},{"type":503,"tag":39,"props":674,"children":676},{"className":675},[],[677],{"type":507,"value":537},{"type":507,"value":531},{"type":503,"tag":39,"props":680,"children":682},{"className":681},[],[683],{"type":507,"value":684},"User",{"type":507,"value":377},{"type":503,"tag":39,"props":687,"children":689},{"className":688},[],[690],{"type":507,"value":544},{"type":507,"value":692},", чтобы подключаться короткими командами без лишних флагов.",[]]