Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
linux:ssh:key [2021/10/30 19:42] werwolf |
linux:ssh:key [2023/11/12 11:24] (текущий) werwolf |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | <div class="page group" style="min-height: 1256.3px;"> | + | ====== Авторизация по ключу SSH ====== |
| - | <!-- wikipage start --> | + | |
| - | <!-- TOC START --> | + | |
| - | <div id="dw__toc" class="dw__toc"> | + | ===== Как работают ключи SSH? ===== |
| - | <h3 class="toggle open" style="cursor: pointer;"><strong><span><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">−</font></font></span></strong>Содержание</h3> | + | |
| - | <div style="" aria-expanded="true"> | + | SSH сервер может выполнять аутентификацию пользователей с помощью различных алгоритмов. Самый популярный - это аутентификация по паролю. Он достаточно прост, но не очень безопасный. Пароли передаются по безопасному каналу, но они недостаточно сложны для противостояния попыткам перебора. Вычислительная мощность современных систем в сочетании со специальными скриптами делают перебор очень простым. Конечно, существуют другие способы дополнительной безопасности, например, fail2ban, но аутентификация по ключу SSH более надежна. |
| - | <ul class="toc"> | + | |
| - | <li class="level2"> | + | Каждая пара ключей состоит из открытого и закрытого ключа. Секретный ключ сохраняется на стороне клиента и не должен быть доступен кому-либо еще. Утечка ключа позволит злоумышленнику войти на сервер, если не была настроена дополнительная аутентификация по паролю. |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">SSH</font></font></a> | + | Открытый ключ используется для шифрования сообщений, которые можно расшифровать только закрытым ключом. Это свойство и используется для аутентификации с помощью пары ключей. Открытый ключ загружается на удаленный сервер, к которому необходимо получить доступ. Его нужно добавить в специальный файл ~/.ssh/authorized_keys. |
| - | </div></li> | + | |
| - | <li class="level2"> | + | Когда клиент попытается выполнить проверку подлинности через этот ключ, сервер отправит сообщение, зашифрованное с помощью открытого ключа, если клиент сможет его расшифровать и вернуть правильный ответ - аутентификация пройдена. |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#background"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Фон</font></font></a> | + | {{ :linux:ssh:fetch.png |}} |
| - | </div></li> | + | ===== Как создать ключи SSH? ===== |
| - | <li class="level2"> | + | |
| - | <div class="li"> | + | Сначала необходимо создать ключи ssh для аутентификации на локальном сервере. Для этого существует специальная утилита ssh-keygen, которая входит в набор утилит OpenSSH. По умолчанию она создает пару 2048 битных RSA ключей, которая подойдет не только для SSH, но и для большинства других ситуаций. |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#generating_an_ssh_key_pair"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Создание пары ключей SSH</font></font></a> | + | |
| - | </div> | + | И так, генерация ключей ssh выполняется командой: |
| - | <ul class="toc"> | + | |
| - | <li class="level3"> | + | <code bash> |
| - | <div class="li"> | + | ssh-keygen |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#choosing_the_authentication_key_type"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Выбор типа ключа аутентификации</font></font></a> | + | </code> |
| - | </div></li> | + | |
| - | <li class="level3"> | + | {{ :linux:ssh:fetch_2.png |}} |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#choosing_the_key_location_and_passphrase"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Выбор местоположения ключа и ключевой фразы</font></font></a> | + | Утилита предложит вам выбрать расположение ключей. По умолчанию ключи располагаются в папке ~/.ssh/. Лучше ничего не менять, чтобы все работало по умолчанию и ключи автоматически подхватывались. Секретный ключ будет называться id_rsa, а публичный id_rsa.pub. |
| - | </div></li> | + | |
| - | </ul> </li> | + | Затем утилита предложит ввести пароль для дополнительного шифрования ключа на диске. Его можно не указывать, если не хотите. Использование дополнительного шифрования имеет только один минус - необходимость вводить пароль, и несколько преимуществ: |
| - | <li class="level2"> | + | |
| - | <div class="li"> | + | * Пароль никогда не попадет в сеть, он используется только на локальной машине для расшифровки ключа. Это значит что перебор по паролю больше невозможен. |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#copying_the_public_key_to_the_remote_server"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Копирование открытого ключа на удаленный сервер</font></font></a> | + | * Секретный ключ хранится в закрытом каталоге и у клиента ssh нет к нему доступа пока вы не введете пароль; |
| - | </div> | + | * Если злоумышленник хочет взломать аутентификацию по ключу SSH, ему понадобится доступ к вашей системе. И даже тогда ключевая фраза может стать серьезной помехой на его пути. |
| - | <ul class="toc"> | + | |
| - | <li class="level3"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#simple_method"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Простой метод</font></font></a> | + | Но все же, это необязательное дополнение и если не хотите, то вы можете просто нажать Enter. Тогда доступ по ключу ssh будет выполняться автоматически и вам не нужно будет что-либо вводить. |
| - | </div></li> | + | |
| - | <li class="level3"> | + | Теперь у вас есть открытый и закрытый ключи SSH и вы можете использовать их для проверки подлинности. Дальше нам осталось разместить открытый ключ на удаленном сервере. |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#manual_method"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ручной метод</font></font></a> | + | ===== Загрузка ключа на сервер ===== |
| - | </div></li> | + | |
| - | </ul> </li> | + | Когда генерация ключей завершена, нам осталось только загрузить ключ на сервер. Для загрузки ключа можно использовать несколько способов. В некоторых случаях вы можете указать ключ в панели управления сервером, например, сPanel или любой другой. Но мы такой способ рассматривать не будем. Мы рассмотрим ручные способы. |
| - | <li class="level2"> | + | |
| - | <div class="li"> | + | Самый простой способ скопировать ключ на удаленный сервер - это использовать утилиту ssh-copy-id. Она тоже входит в пакет программ OpenSSH. Но для работы этого метода вам нужно иметь пароль доступа к серверу по SSH. Синтаксис команды: |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh_agents"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агенты SSH</font></font></a> | + | |
| - | </div> | + | <code bash> |
| - | <ul class="toc"> | + | ssh-copy-id username@remote_host |
| - | <li class="level3"> | + | </code> |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh-agent"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-агент</font></font></a> | + | {{ :linux:ssh:fetch_3.png |}} |
| - | </div></li> | + | |
| - | <li class="level3"> | + | При первом подключении к серверу система может его не распознать, поэтому вам нужно ввести yes. Затем введите ваш пароль пользователя на удаленном сервере. Утилита подключится к удаленному серверу, а затем использует содержимое ключа id.rsa.pub для загрузки его на сервер в файл ~/.ssh/authorized_keys. Дальше вы можете выполнять аутентификацию с помощью этого ключа. |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#gnupg_agent"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агент GnuPG</font></font></a> | + | Если такой способ по какой-либо причине для вас не работает, вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи: |
| - | </div></li> | + | |
| - | <li class="level3"> | + | <code bash> |
| - | <div class="li"> | + | cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#keychain"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Брелок</font></font></a> | + | </code> |
| - | </div></li> | + | |
| - | <li class="level3"> | + | Здесь вам тоже нужно набрать yes, если вы подключаетесь к новому серверу, а затем ввести пароль. Теперь вы можете использовать созданный ключ для аутентификации на сервере: |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#x11-ssh-askpass"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></a> | + | <code bash> |
| - | </div></li> | + | ssh username@remote_host |
| - | <li class="level3"> | + | </code> |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#pam_ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_ssh</font></font></a> | + | |
| - | </div></li> | + | Если вы не захотели создать ssh ключ с доступом по паролю, то вы сразу же будете авторизованы, что очень удобно. Иначе, сначала вам придется ввести фразу-пароль для расшифровки ключа. |
| - | <li class="level3"> | + | |
| - | <div class="li"> | + | ===== Отключение проверки пароля ===== |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#pam_exec-ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_exec-ssh</font></font></a> | + | |
| - | </div></li> | + | Если пароль больше не будет использоваться, то для увеличения безопасности системы лучше его вовсе отключить. Но убедитесь, что ключ надежно сохранен и вы его не потеряете, потому что по паролю вы больше не войдете. Авторизуйтесь на сервере, затем откройте конфигурационный файл /etc/ssh/sshd_config и найдите там директиву PasswordAuthenticatin. Нужно установить ее значение в No: |
| - | <li class="level3"> | + | |
| - | <div class="li"> | + | <code bash> |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#gnome_keyring"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Брелок GNOME</font></font></a> | + | sudo vi /etc/ssh/sshd_config |
| - | </div></li> | + | |
| - | <li class="level3"> | + | PasswordAuthentication no |
| - | <div class="li"> | + | </code> |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#store_ssh_keys_with_kwallet"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Храните ключи SSH с помощью Kwallet</font></font></a> | + | |
| - | </div></li> | + | {{ :linux:ssh:fetch_4.png |}} |
| - | <li class="level3"> | + | |
| - | <div class="li"> | + | Теперь сохраните файл и перезапустите службу ssh: |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#keepass2_with_keeagent_plugin"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePass2 с плагином KeeAgent</font></font></a> | + | |
| - | </div></li> | + | <code bash> |
| - | <li class="level3"> | + | sudo service ssh restart |
| - | <div class="li"> | + | </code> |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#keepassxc"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePassXC</font></font></a> | + | |
| - | </div></li> | + | Дальше будет возможно только подключение по ключу ssh, пароль не будет приниматься. |
| - | </ul> </li> | + | |
| - | <li class="level2"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#troubleshooting"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Исправление проблем</font></font></a> | + | |
| - | </div> | + | |
| - | <ul class="toc"> | + | |
| - | <li class="level3"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#key_ignored_by_the_server"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ключ игнорируется сервером</font></font></a> | + | |
| - | </div></li> | + | |
| - | </ul> </li> | + | |
| - | <li class="level2"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#a_solution_for_existing_repositories"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Решение для существующих репозиториев</font></font></a> | + | |
| - | </div></li> | + | |
| - | </ul> | + | |
| - | </div> | + | |
| - | </div> | + | |
| - | <!-- TOC END --> | + | |
| - | <h2 class="sectionedit1" id="ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">SSH</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p> Ключи SSH могут служить средством идентификации вас на сервере SSH с помощью <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Public-key_cryptography" class="urlextern" title="https://en.wikipedia.org/wiki/Public-key_cryptography" rel="nofollow">public-key cryptography</a> and <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Challenge-response_authentication" class="urlextern" title="https://en.wikipedia.org/wiki/Challenge-response_authentication" rel="nofollow">challenge-response authentication</a>. Основным преимуществом аутентификации на основе ключей является то, что в отличие от аутентификации по паролю она не подвержена <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Brute-force_attack" class="urlextern" title="https://en.wikipedia.org/wiki/Brute-force_attack" rel="nofollow">brute-force attacks</a> и вы не предоставляете действительные учетные данные, если сервер был скомпрометирован ( <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://tools.ietf.org/html/rfc4251%23section-9.4.4" class="urlextern" title="https://tools.ietf.org/html/rfc4251#section-9.4.4" rel="nofollow">RFC 4251 9.4.4</a>). </p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Кроме того, аутентификация по ключу SSH может быть более удобной, чем более традиционная аутентификация по паролю. </font><font style="vertical-align: inherit;">При использовании с программой, известной как агент SSH, ключи SSH могут позволить вам подключаться к серверу или нескольким серверам без необходимости запоминать или вводить пароль для каждой системы.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Аутентификация на основе ключей не лишена недостатков и может не подходить для всех сред, но во многих случаях она может предложить ряд серьезных преимуществ. </font><font style="vertical-align: inherit;">Общее представление о том, как работают ключи SSH, поможет вам решить, как и когда использовать их в соответствии с вашими потребностями.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В данной статье предполагается , что </font><font style="vertical-align: inherit;">вы уже имеете общее представление о </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:secure_shell&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: secure_shell" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Secure Shell</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> протокола и </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:install&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: установить" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">установлен</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dopenssh" class="urlextern" title="https://archlinux.org/packages/?name=openssh" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">OpenSSH</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> пакет.</font></font></p> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit2" id="background"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Фон</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ключи SSH всегда генерируются парами, один из которых известен как закрытый ключ, а другой - как открытый. </font><font style="vertical-align: inherit;">Секретный ключ известен только вам и должен надежно храниться. </font><font style="vertical-align: inherit;">В отличие от этого, открытый ключ может быть свободно передан любому серверу SSH, к которому вы хотите подключиться.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если на SSH-сервере есть ваш открытый ключ в файле и он видит, что вы запрашиваете соединение, он использует ваш открытый ключ для создания и отправки вам запроса. Этот вызов представляет собой зашифрованное сообщение, и на него должен быть дан соответствующий ответ, прежде чем сервер предоставит вам доступ. Что делает это закодированное сообщение особенно безопасным, так это то, что его может понять только владелец закрытого ключа. Хотя открытый ключ можно использовать для шифрования сообщения, его нельзя использовать для расшифровки того же самого сообщения. Только вы, владелец закрытого ключа, сможете правильно понять задачу и дать правильный ответ.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Эта </font><font style="vertical-align: inherit;">фаза " </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Challenge-response_authentication" class="urlextern" title="https://en.wikipedia.org/wiki/Challenge-response_authentication" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вызов-ответ"</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> происходит за кулисами и невидима для пользователя. </font><font style="vertical-align: inherit;">Пока у вас есть закрытый ключ, который обычно хранится в </font></font><code>~/.ssh/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">каталоге, ваш SSH-клиент должен иметь возможность ответить серверу соответствующим ответом.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Закрытый ключ - это охраняемый секрет, поэтому рекомендуется хранить его на диске в зашифрованном виде. </font><font style="vertical-align: inherit;">Когда требуется зашифрованный закрытый ключ, сначала необходимо ввести парольную фразу, чтобы ее расшифровать. </font><font style="vertical-align: inherit;">Хотя это может внешне выглядеть так, как будто вы предоставляете пароль для входа на сервер SSH, парольная фраза используется только для расшифровки закрытого ключа в локальной системе. </font><font style="vertical-align: inherit;">Кодовая фраза не передается по сети.</font></font></p> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit3" id="generating_an_ssh_key_pair"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Создание пары ключей SSH</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Пара ключей SSH может быть сгенерирована с помощью </font></font><code>ssh-keygen</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команды, по умолчанию 3072-битный RSA (и SHA256), который на </font><font style="vertical-align: inherit;">странице </font><font style="vertical-align: inherit;">руководства </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/ssh-keygen.1" class="urlextern" title="https://man.archlinux.org/man/ssh-keygen.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-keygen (1)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> указывается как « </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">обычно считается достаточным</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> » и должен быть совместим практически со всеми клиентами и серверами:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Создание пары ключей открытого и закрытого типа RSA.</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Введите файл, в котором нужно сохранить ключ (/ home / <username> /.ssh/id_rsa):</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Введите кодовую фразу (пусто, если кодовая фраза отсутствует):</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Введите ту же парольную фразу еще раз:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Ваш идентификатор был сохранен в / home / <имя пользователя> /.ssh/id_rsa.</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Ваш открытый ключ был сохранен в / home / <имя пользователя> /.ssh/id_rsa.pub.</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Ключевой отпечаток пальца:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | SHA256: gGJtSsV8BM + 7w018d39Ji57F8iO6c0N2GZq3 / RY2NhI имя пользователя @ имя хоста</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Изображение ключа randomart:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | + --- [RSA 3072] ---- +</font></font><font></font> | + | |
| - | | ooo. |<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">оо +. </font><font style="vertical-align: inherit;">|</font></font><font></font> | + | |
| - | | + +.+ |<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">+ + и. </font><font style="vertical-align: inherit;">|</font></font><font></font> | + | |
| - | | . . S . . =.o|<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">+. </font><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">B + @ o |</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">+. </font><font style="vertical-align: inherit;">oo * = O |</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">.. + = o + |</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | | </font><font style="vertical-align: inherit;">о = ооо + |</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | + ---- [SHA256] ----- +</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Изображение </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.cs.berkeley.edu/~dawnsong/papers/randomart.pdf" class="urlextern" title="https://www.cs.berkeley.edu/~dawnsong/papers/randomart.pdf" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">randomart</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> было </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-5.1" class="urlextern" title="https://www.openssh.com/txt/release-5.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">введено в OpenSSH 5.1</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> как более простое средство визуальной идентификации отпечатка ключа.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Вы можете использовать </font></font><code>-a</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переключатель, чтобы указать количество раундов KDF при шифровании пароля.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Вы также можете добавить дополнительное поле комментария к общедоступному ключу с помощью </font></font><code>-C</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переключателя, чтобы его было легче идентифицировать в таких местах, как </font></font><code>~/.ssh/known_hosts</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">, </font></font><code>~/.ssh/authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и </font></font><code>ssh-add -L</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вывод. </font><font style="vertical-align: inherit;">Например:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen -C "$ (whoami) @ $ (uname -n) - $ (дата -I)"</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> добавит комментарий о том, какой пользователь создал ключ на какой машине и когда. </font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit4" id="choosing_the_authentication_key_type"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Выбор типа ключа аутентификации</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> OpenSSH поддерживает несколько алгоритмов подписи (для ключей аутентификации), которые можно разделить на две группы в зависимости от используемых математических свойств: </font></font></p> | + | |
| - | <ol> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Digital_Signature_Algorithm" class="urlextern" title="https://en.wikipedia.org/wiki/Digital_Signature_Algorithm" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">DSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/RSA_(cryptosystem)" class="urlextern" title="https://en.wikipedia.org/wiki/RSA_(cryptosystem)" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">RSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , которые полагаются на | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Integer_factorization%23Difficulty_and_complexity" class="urlextern" title="https://en.wikipedia.org/wiki/Integer_factorization#Difficulty_and_complexity" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">практическую сложность</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> факторизации произведения двух больших простых чисел, | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm" class="urlextern" title="https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ECDSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Curve25519" class="urlextern" title="https://en.wikipedia.org/wiki/Curve25519" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ed25519</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , которые основаны на </font><font style="vertical-align: inherit;">задаче </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Discrete_logarithm" class="urlextern" title="https://en.wikipedia.org/wiki/Discrete_logarithm" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">дискретного логарифмирования</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> эллиптической кривой | + | |
| - | </font><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">( | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.certicom.com/content/certicom/en/52-the-elliptic-curve-discrete-logarithm-problem.html" class="urlextern" title="https://www.certicom.com/content/certicom/en/52-the-elliptic-curve-discrete-logarithm-problem.html" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">пример</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ) | + | |
| - | </font></font></div> </li> | + | |
| - | </ol> | + | |
| - | <p> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/" class="urlextern" title="https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/" rel="nofollow"><font style="vertical-align: inherit;"></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Алгоритмы </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/" class="urlextern" title="https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/" rel="nofollow"><font style="vertical-align: inherit;">криптографии на основе эллиптических кривых</font></a><font style="vertical-align: inherit;"> (ECC) являются </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Elliptic_curve_cryptography%23History" class="urlextern" title="https://en.wikipedia.org/wiki/Elliptic_curve_cryptography#History" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">более поздним дополнением</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> к криптосистемам с открытым ключом. </font><font style="vertical-align: inherit;">Одним из их основных преимуществ является их способность обеспечивать </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Elliptic_curve_cryptography%23Rationale" class="urlextern" title="https://en.wikipedia.org/wiki/Elliptic_curve_cryptography#Rationale" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">тот же уровень безопасности с меньшими ключами</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , что делает менее вычислительно-интенсивные операции ( </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">например,</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> более быстрое создание ключей, шифрование и дешифрование) и снижает требования к хранению и передаче.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">OpenSSH 7.0 </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/news/openssh-70p1-deprecates-ssh-dss-keys/" class="urlextern" title="https://archlinux.org/news/openssh-70p1-deprecates-ssh-dss-keys/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">устарел и отключил поддержку ключей DSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> из-за обнаруженных уязвимостей, поэтому выбор </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/cryptosystem" class="urlextern" title="https://en.wikipedia.org/wiki/cryptosystem" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">криптосистемы</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> находится в пределах RSA или одного из двух типов ECC.</font></font></p> | + | |
| - | <p> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#rsa" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ключи </font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#rsa" title="linux:ssh:key ↵" class="wikilink1"><font style="vertical-align: inherit;">#RSA</font></a><font style="vertical-align: inherit;"> обеспечат вам максимальную переносимость, в то время как </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ed25519" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"># Ed25519</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> обеспечит максимальную безопасность, но для этого требуются последние версии клиента и сервера </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://web.archive.org/web/20191222003107/https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html" class="urlextern" title="https://web.archive.org/web/20191222003107/https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[1]</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ecdsa" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">#ECDSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , вероятно, более совместим, чем Ed25519 (хотя и меньше, чем RSA), но есть подозрения относительно его безопасности (см. Ниже).</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Эти ключи используются только для вашей аутентификации; </font><font style="vertical-align: inherit;">выбор более сильных ключей не увеличит нагрузку на ЦП при передаче данных по SSH.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="rsa"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ЮАР</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p> <code>ssh-keygen</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">по умолчанию используется RSA, поэтому указывать его с </font></font><code>-t</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опцией </font><font style="vertical-align: inherit;">не нужно </font><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Он обеспечивает лучшую совместимость всех алгоритмов, но требует, чтобы размер ключа был больше для обеспечения достаточной безопасности.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Минимальный размер ключа составляет 1024 бита, по умолчанию - 3072 (см. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/ssh-keygen.1" class="urlextern" title="https://man.archlinux.org/man/ssh-keygen.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ssh-keygen (1)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ), а максимальный - 16384.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если вы хотите создать более надежную пару ключей RSA ( </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">например,</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для защиты от новейших или неизвестных атак и более изощренных злоумышленников), просто укажите </font></font><code>-b</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">параметр с более высоким битовым значением, чем значение по умолчанию:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen -b 4096</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Однако имейте в виду, что использование более длинных ключей снижает отдачу. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://security.stackexchange.com/a/25377" class="urlextern" title="https://security.stackexchange.com/a/25377" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[2] </font></font></a><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.gnupg.org/faq/gnupg-faq.html%23no_default_of_rsa4096" class="urlextern" title="https://www.gnupg.org/faq/gnupg-faq.html#no_default_of_rsa4096" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[3]</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> GnuPG </font></font><abbr title="Часто задаваемые вопросы"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">FAQ</font></font></abbr><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> гласит: « </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если вам требуется больше безопасности, чем предлагает RSA-2048, можно перейти на криптографию на основе эллиптических кривых, а не продолжать использовать RSA</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ». </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.gnupg.org/faq/gnupg-faq.html%23please_use_ecc" class="urlextern" title="https://www.gnupg.org/faq/gnupg-faq.html#please_use_ecc" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[4]</font></font></a> </p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">С другой стороны, последняя итерация </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://web.archive.org/web/20160305203915/https://www.nsa.gov/ia/programs/suiteb_cryptography/index.shtml" class="urlextern" title="https://web.archive.org/web/20160305203915/https://www.nsa.gov/ia/programs/suiteb_cryptography/index.shtml" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">пакета B Cryptography NSA Fact Sheet</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> предлагает минимум 3072-битного модуля для RSA при « </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[подготовке] к предстоящему переходу на квантово-устойчивый алгоритм</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ». </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.keylength.com/en/6/" class="urlextern" title="https://www.keylength.com/en/6/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[5]</font></font></a> </p> | + | |
| - | </div> | + | |
| - | <h4 id="ecdsa"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ECDSA</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Алгоритм цифровой подписи с эллиптической кривой (ECDSA) был представлен как предпочтительный алгоритм для аутентификации </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-5.7" class="urlextern" title="https://www.openssh.com/txt/release-5.7" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">в OpenSSH 5.7</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Некоторые поставщики также отключают необходимые реализации из-за потенциальных проблем с патентами.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> С этим есть две проблемы: </font></font></p> | + | |
| - | <ol> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Политические опасения</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , надежность кривых, созданных NIST, | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://crypto.stackexchange.com/questions/10263/should-we-trust-the-nist-recommended-ecc-parameters" class="urlextern" title="https://crypto.stackexchange.com/questions/10263/should-we-trust-the-nist-recommended-ecc-parameters" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">подвергается сомнению</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> после </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://crypto.stackexchange.com/questions/10263/should-we-trust-the-nist-recommended-ecc-parameters" class="urlextern" title="https://crypto.stackexchange.com/questions/10263/should-we-trust-the-nist-recommended-ecc-parameters" rel="nofollow"><font style="vertical-align: inherit;">того,</font></a><font style="vertical-align: inherit;"> как стало известно, что АНБ охотно вставляет бэкдоры в программное обеспечение, компоненты оборудования и опубликованные стандарты; </font><font style="vertical-align: inherit;">хорошо известные шифровальщики | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html%23c1675929" class="urlextern" title="https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html#c1675929" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">были </font></font></a> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://safecurves.cr.yp.to/rigid.html" class="urlextern" title="https://safecurves.cr.yp.to/rigid.html" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">выражены </font></font></a> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf" class="urlextern" title="https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">сомнения</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> относительно того, </font><font style="vertical-align: inherit;">как кривые NIST были разработаны и добровольный уже по умолчанию </font><font style="vertical-align: inherit;">разрушение | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html" class="urlextern" title="https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">было </font></font></a> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.scientificamerican.com/article/nsa-nist-encryption-scandal/" class="urlextern" title="https://www.scientificamerican.com/article/nsa-nist-encryption-scandal/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">доказано</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в прошлом. | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Технические проблемы</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , о | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://blog.cr.yp.to/20140323-ecdsa.html" class="urlextern" title="https://blog.cr.yp.to/20140323-ecdsa.html" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">сложности правильно реализовать стандарт</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и в | + | |
| - | </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.gossamer-threads.com/lists/openssh/dev/57162%2357162" class="urlextern" title="https://www.gossamer-threads.com/lists/openssh/dev/57162#57162" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">медлительности и конструктивные недостатки</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , которые снижают безопасность в недостаточно предусмотрительный реализации. | + | |
| - | </font></font></div> </li> | + | |
| - | </ol> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Обе эти проблемы лучше всего изложены во </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://git.libssh.org/projects/libssh.git/tree/doc/curve25519-sha256@libssh.org.txt%23n4" class="urlextern" title="https://git.libssh.org/projects/libssh.git/tree/doc/curve25519-sha256@libssh.org.txt#n4" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">введении к libssh curve25519</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Хотя политические проблемы все еще являются предметом обсуждения, существует </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://news.ycombinator.com/item?id%3D7597653" class="urlextern" title="https://news.ycombinator.com/item?id=7597653" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">четкое согласие с тем,</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> что </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ed25519" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"># Ed25519</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> технически лучше и, следовательно, ему следует предпочесть.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="ed25519"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ed25519</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://ed25519.cr.yp.to/" class="urlextern" title="https://ed25519.cr.yp.to/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ed25519</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> был представлен в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-6.5" class="urlextern" title="https://www.openssh.com/txt/release-6.5" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">OpenSSH 6.5</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в январе 2014 г .: « </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ed25519 - это схема подписи с эллиптической кривой, которая обеспечивает лучшую безопасность, чем ECDSA и DSA, и хорошую производительность</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ». </font><font style="vertical-align: inherit;">Его основными сильными сторонами являются скорость, постоянное время работы (и устойчивость к атакам по побочным каналам) и отсутствие туманных жестко запрограммированных констант. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://git.libssh.org/projects/libssh.git/tree/doc/curve25519-sha256@libssh.org.txt" class="urlextern" title="https://git.libssh.org/projects/libssh.git/tree/doc/curve25519-sha256@libssh.org.txt" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[6]</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> См. Также </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/" class="urlextern" title="https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">это сообщение в блоге</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> разработчика Mozilla о том, как это работает.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Он уже реализован во </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Curve25519%23Popularity" class="urlextern" title="https://en.wikipedia.org/wiki/Curve25519#Popularity" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">многих приложениях и библиотеках</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и является </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.libssh.org/2013/11/03/openssh-introduces-curve25519-sha256libssh-org-key-exchange/" class="urlextern" title="https://www.libssh.org/2013/11/03/openssh-introduces-curve25519-sha256libssh-org-key-exchange/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">алгоритмом обмена ключами</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> по </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.libssh.org/2013/11/03/openssh-introduces-curve25519-sha256libssh-org-key-exchange/" class="urlextern" title="https://www.libssh.org/2013/11/03/openssh-introduces-curve25519-sha256libssh-org-key-exchange/" rel="nofollow"><font style="vertical-align: inherit;">умолчанию</font></a><font style="vertical-align: inherit;"> (который отличается от </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">подписи</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ключа </font><font style="vertical-align: inherit;">) в OpenSSH.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Пары ключей Ed25519 могут быть сгенерированы с помощью: </font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen -t ed25519</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Размер ключа указывать не нужно, так как все ключи Ed25519 имеют 256 бит. </font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Имейте в виду, что старые клиенты и серверы SSH могут не поддерживать эти ключи. </font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="fido_u2f"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">FIDO / U2F</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Поддержка </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Security_Tokens" class="urlextern" title="https://en.wikipedia.org/wiki/Security_Tokens" rel="nofollow"><font style="vertical-align: inherit;">аппаратного аутентификатора</font></a><font style="vertical-align: inherit;"> FIDO / </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:u2f&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: u2f" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">U2F</font></font></a> <font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> была добавлена в </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-8.2" class="urlextern" title="https://www.openssh.com/txt/release-8.2" rel="nofollow"><font style="vertical-align: inherit;">OpenSSH версии 8.2</font></a><font style="vertical-align: inherit;"> для обеих схем подписи эллиптической кривой, упомянутых выше. </font><font style="vertical-align: inherit;">Это позволяет аппаратному токену, подключенному через USB или другим способом, действовать вторым фактором наряду с закрытым ключом.</font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://en.wikipedia.org/wiki/Security_Tokens" class="urlextern" title="https://en.wikipedia.org/wiki/Security_Tokens" rel="nofollow"><font style="vertical-align: inherit;"></font></a><font style="vertical-align: inherit;"></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-8.2" class="urlextern" title="https://www.openssh.com/txt/release-8.2" rel="nofollow"><font style="vertical-align: inherit;"></font></a><font style="vertical-align: inherit;"></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dlibfido2" class="urlextern" title="https://archlinux.org/packages/?name=libfido2" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Libfido2</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> требуется для маркеров аппаратной поддержки.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> OpenSSH использует библиотеку промежуточного программного обеспечения для связи с аппаратным токеном и поставляется с внутренним промежуточным программным обеспечением, которое поддерживает токены USB. </font><font style="vertical-align: inherit;">Другое промежуточное ПО может быть указано в </font><font style="vertical-align: inherit;">директиве </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/sshd_config.5%23SecurityKeyProvider" class="urlextern" title="https://man.archlinux.org/man/sshd_config.5#SecurityKeyProvider" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">sshd_config (5) § SecurityKeyProvider</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> или в </font></font><code>SSH_SK_PROVIDER</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переменной среды для </font></font><code>ssh-keygen</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и </font></font><code>ssh-add</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> После присоединения совместимого ключа FIDO пара ключей может быть сгенерирована с помощью: </font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen -t ed25519-sk</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Обычно вам потребуется ввести свой PIN-код и / или нажать свой токен, чтобы подтвердить создание. </font><font style="vertical-align: inherit;">Для подключения к серверу обычно требуется нажать ваш токен, если </font></font><code>-O no-touch-required</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">во время генерации не используется параметр командной строки и </font><font style="vertical-align: inherit;">на сервере не установлен </font><font style="vertical-align: inherit;">параметр </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/sshd.8%23no-touch-required" class="urlextern" title="https://man.archlinux.org/man/sshd.8#no-touch-required" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">sshd (8) § no-touch-required</font></font></a> <code>authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Обратите внимание, что не все аппаратные токены поддерживают эту опцию.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Пара ключей на основе ECDSA также может быть сгенерирована с использованием этого типа </font></font><code>ecdsa-sk</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ключа, но соответствующие замечания в разделе </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ecdsa" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">#ECDSA</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> выше по-прежнему остаются </font><font style="vertical-align: inherit;">в </font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ecdsa" title="linux:ssh:key ↵" class="wikilink1"><font style="vertical-align: inherit;">силе</font></a><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Имейте в виду, что многие серверы SSH могут не поддерживать эти ключи. </font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit5" id="choosing_the_key_location_and_passphrase"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Выбор местоположения ключа и ключевой фразы</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">После ввода </font></font><code>ssh-keygen</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команды вам будет предложено ввести желаемое имя и расположение вашего закрытого ключа. </font><font style="vertical-align: inherit;">По умолчанию ключи хранятся в </font></font><code>~/.ssh/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">каталоге и называются в соответствии с типом используемого шифрования. </font><font style="vertical-align: inherit;">Рекомендуется принять имя и расположение по умолчанию, чтобы последующие примеры кода в этой статье работали правильно.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Когда будет предложено ввести кодовую фразу, выберите то, что будет сложно угадать, если вы помните о безопасности своего закрытого ключа. </font><font style="vertical-align: inherit;">Более длинный и случайный пароль, как правило, будет надежнее и сложнее взломать, если он попадет в чужие руки.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Также возможно создать свой закрытый ключ без парольной фразы. Хотя это может быть удобно, вы должны осознавать связанные с этим риски. Без парольной фразы ваш закрытый ключ будет храниться на диске в незашифрованном виде. Любой, кто получит доступ к вашему файлу закрытого ключа, сможет принять вашу личность на любом SSH-сервере, к которому вы подключаетесь с использованием аутентификации на основе ключей. Кроме того, без парольной фразы вы также должны доверять пользователю root, так как он может обойти права доступа к файлам и сможет получить доступ к вашему незашифрованному файлу закрытого ключа в любое время.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Раньше пароль с закрытым ключом кодировался небезопасным способом: только один цикл хеширования MD5. </font><font style="vertical-align: inherit;">OpenSSH 6.5 и более поздние версии поддерживают новый, более безопасный формат для кодирования вашего закрытого ключа. </font><font style="vertical-align: inherit;">Этот формат используется по умолчанию, начиная с </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-7.8" class="urlextern" title="https://www.openssh.com/txt/release-7.8" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">версии OpenSSH 7.8</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Ключи Ed25519 всегда использовали новый формат кодирования. </font><font style="vertical-align: inherit;">Чтобы перейти на новый формат, просто измените парольную фразу ключа, как описано в следующем разделе.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="changing_the_private_key_s_passphrase_without_changing_the_key"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Изменение ключевой фразы закрытого ключа без изменения ключа</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если изначально выбранная парольная фраза SSH нежелательна или должна быть изменена, можно использовать </font></font><code>ssh-keygen</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команду, чтобы изменить парольную фразу без изменения фактического ключа. </font><font style="vertical-align: inherit;">Это также можно использовать для изменения формата кодировки пароля в соответствии с новым стандартом.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-keygen -f ~ / .ssh / id_rsa -p</font></font></pre> | + | |
| - | </div> | + | |
| - | <h4 id="managing_multiple_keys"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Управление несколькими ключами</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если у </font><font style="vertical-align: inherit;">вас есть несколько идентичностей SSH, вы можете установить различные ключи , </font><font style="vertical-align: inherit;">которые будут использоваться для различных узлов или удаленных пользователей при помощи кнопки </font></font><code>Match</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и </font></font><code>IdentityFile</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">директив в конфигурации:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">~ / .ssh / config</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Соответствует host = SERVER1</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | ЛичностиТолько да</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | IdentityFile ~ / .ssh / id_rsa_IDENTITY1</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Соответствует host = SERVER2, SERVER3</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | ЛичностиТолько да</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | IdentityFile ~ / .ssh / id_ed25519_IDENTITY2</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">См. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/ssh_config.5" class="urlextern" title="https://man.archlinux.org/man/ssh_config.5" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ssh_config (5)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для полного описания этих опций.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="storing_ssh_keys_on_hardware_tokens"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Хранение ключей SSH на аппаратных токенах</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:file:tango-view-fullscreen&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="media" title="название: файл: танго-просмотр-полноэкранный режим"><img src="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=http://synology.webmastermsk.ru/dokuwiki/lib/exe/fetch.php?w%3D48%26h%3D48%26tok%3Df75d99%26media%3Dimages:3:38:tango-view-fullscreen.png" class="media" title="Танго-просмотр-fullscreen.png" alt="Танго-просмотр-fullscreen.png" width="48" height="48"></a><strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Эта статья или раздел нуждаются в расширении.</font></font></strong> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:file:tango-view-fullscreen&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="media" title="название: файл: танго-просмотр-полноэкранный режим"><img src="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=http://synology.webmastermsk.ru/dokuwiki/lib/exe/fetch.php?w%3D48%26h%3D48%26tok%3Df75d99%26media%3Dimages:3:38:tango-view-fullscreen.png" class="media" title="Танго-просмотр-fullscreen.png" alt="Танго-просмотр-fullscreen.png" width="48" height="48"></a> </p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Причина: в </font></font></strong> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.openssh.com/txt/release-8.2" class="urlextern" title="https://www.openssh.com/txt/release-8.2" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">OpenSSH версии 8.2</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> добавлена поддержка резидентных ключей FIDO2, что позволяет хранить ключи SSH на аппаратном токене. </font><font style="vertical-align: inherit;">(Обсудить в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://wiki.archlinux.org/title/Talk:SSH_keys" class="urlextern" title="https://wiki.archlinux.org/title/Talk:SSH_keys" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Обсуждении: ключи SSH</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> )</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ключи SSH также могут храниться на токене безопасности, таком как смарт-карта или USB-токен. </font><font style="vertical-align: inherit;">Это имеет то преимущество, что закрытый ключ надежно хранится на токене, а не на диске. </font><font style="vertical-align: inherit;">При использовании токена безопасности конфиденциальный закрытый ключ также никогда не присутствует в оперативной памяти ПК; </font><font style="vertical-align: inherit;">криптографические операции выполняются с самим токеном. </font><font style="vertical-align: inherit;">Криптографический токен имеет дополнительное преимущество, заключающееся в том, что он не привязан к одному компьютеру; </font><font style="vertical-align: inherit;">его можно легко снять с компьютера и носить с собой для использования на других компьютерах.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Примеры аппаратных токенов описаны в: </font></font></p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:yubikey&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh_notes" class="wikilink2" title="название: yubikey" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">YubiKey # SSH отмечает встроенную</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> поддержку OpenSSH для ключей FIDO / U2F | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:yubikey&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh_keys" class="wikilink2" title="название: yubikey" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">YubiKey # SSH ключи</font></font></a> | + | |
| - | </div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:trusted_platform_module&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#securing_ssh_keys" class="wikilink2" title="title: доверенный_платформа_модуль" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Модуль доверенной платформы # Защита ключей SSH</font></font></a> | + | |
| - | </div> </li> | + | |
| - | </ul> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit6" id="copying_the_public_key_to_the_remote_server"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Копирование открытого ключа на удаленный сервер</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:file:tango-view-fullscreen&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="media" title="название: файл: танго-просмотр-полноэкранный режим"><img src="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=http://synology.webmastermsk.ru/dokuwiki/lib/exe/fetch.php?w%3D48%26h%3D48%26tok%3Df75d99%26media%3Dimages:3:38:tango-view-fullscreen.png" class="media" title="Танго-просмотр-fullscreen.png" alt="Танго-просмотр-fullscreen.png" width="48" height="48"></a><strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Эта статья или раздел нуждаются в расширении.</font></font></strong> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:file:tango-view-fullscreen&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="media" title="название: файл: танго-просмотр-полноэкранный режим"><img src="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=http://synology.webmastermsk.ru/dokuwiki/lib/exe/fetch.php?w%3D48%26h%3D48%26tok%3Df75d99%26media%3Dimages:3:38:tango-view-fullscreen.png" class="media" title="Танго-просмотр-fullscreen.png" alt="Танго-просмотр-fullscreen.png" width="48" height="48"></a> </p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Причина:</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> как это сделать, если вы </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:openssh&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#force_public_key_authentication" class="wikilink2" title="название: openssh" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">принудительно используете аутентификацию с открытым ключом</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ? </font><font style="vertical-align: inherit;">(Обсудить в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://wiki.archlinux.org/title/Talk:SSH_keys" class="urlextern" title="https://wiki.archlinux.org/title/Talk:SSH_keys" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Обсуждении: ключи SSH</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> )</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">После того, как вы сгенерировали пару ключей, вам нужно будет скопировать открытый ключ на удаленный сервер, чтобы он использовал аутентификацию по ключу SSH. </font><font style="vertical-align: inherit;">Файл открытого ключа имеет то же имя, что и закрытый ключ, за исключением того, что к нему добавлено </font></font><code>.pub</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">расширение. </font><font style="vertical-align: inherit;">Обратите внимание, что закрытый ключ не является общим и остается на локальном компьютере.</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit7" id="simple_method"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Простой метод</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Этот метод может не сработать, если удаленный сервер использует не- </font></font><code>sh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">оболочку, например </font></font><code>tcsh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">по умолчанию, и использует OpenSSH старше 6.6.1p1. </font><font style="vertical-align: inherit;">См. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://bugzilla.redhat.com/show_bug.cgi?id%3D1045191" class="urlextern" title="https://bugzilla.redhat.com/show_bug.cgi?id=1045191" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Этот отчет об ошибке</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если ваш ключевой файл, </font></font><code>~/.ssh/id_rsa.pub</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вы можете просто ввести следующую команду.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-copy-id remote-server.org</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если ваше имя пользователя на удаленном компьютере отличается, не забудьте добавить имя пользователя, за которым </font></font><code>@</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">следует, перед именем сервера.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-copy-id username@remote-server.org</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если ваше имя файла открытого ключа отличается от значения по умолчанию, </font></font><code>~/.ssh/id_rsa.pub</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вы получите сообщение об ошибке </font></font><code>/usr/bin/ssh-copy-id: ERROR: No identities found</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">В этом случае вы должны явно указать расположение открытого ключа.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-copy-id -i ~ / .ssh / id_ed25519.pub имя пользователя@remote-server.org</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Если ssh-сервер прослушивает порт, отличный от порта по умолчанию 22, обязательно укажите его в аргументе host. </font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-copy-id -i ~ / .ssh / id_ed25519.pub -p 221 имя пользователя@remote-server.org</font></font></pre> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit8" id="manual_method"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ручной метод</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">По умолчанию для OpenSSH открытый ключ необходимо объединить с </font></font><code>~/.ssh/authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Начните с копирования открытого ключа на удаленный сервер.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ scp ~ / .ssh / id_ecdsa.pub имя пользователя@remote-server.org:</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В приведенном выше примере открытый ключ ( </font></font><code>id_ecdsa.pub</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">) </font><font style="vertical-align: inherit;">копируется в </font><font style="vertical-align: inherit;">ваш домашний каталог на удаленном сервере через </font></font><code>scp</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Не забудьте поставить </font></font><code>:</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">точку в конце адреса сервера. </font><font style="vertical-align: inherit;">Также обратите внимание, что имя вашего открытого ключа может отличаться от приведенного в примере.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">На удаленном сервере вам нужно будет создать </font></font><code>~/.ssh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">каталог, если он еще не существует, и добавить свой открытый ключ в </font></font><code>authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">файл.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh username@remote-server.org</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | username@remote-server.org пароль:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ mkdir ~ / .ssh</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ chmod 700 ~ / .ssh</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ cat ~ / id_ecdsa.pub >> ~ / .ssh / authorized_keys</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ rm ~ / id_ecdsa.pub</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ chmod 600 ~ / .ssh / authorized_keys</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Последние две команды удаляют файл открытого ключа с сервера и устанавливают разрешения для </font></font><code>authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">файла так, чтобы он был доступен для чтения и записи только вам, владельцу.</font></font></p> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit9" id="ssh_agents"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агенты SSH</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если ваш закрытый ключ зашифрован парольной фразой, эту парольную фразу необходимо вводить каждый раз, когда вы пытаетесь подключиться к SSH-серверу с использованием аутентификации с открытым ключом. </font><font style="vertical-align: inherit;">Каждый отдельный вызов </font></font><code>ssh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">или </font></font><code>scp</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">будет нуждаться в парольной фразе, чтобы расшифровать ваш закрытый ключ перед тем, как можно будет продолжить аутентификацию.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агент SSH - это программа, которая кэширует ваши расшифрованные закрытые ключи и предоставляет их клиентским программам SSH от вашего имени. </font><font style="vertical-align: inherit;">В этом случае вы должны указать свою парольную фразу только один раз, добавляя свой закрытый ключ в кэш агента. </font><font style="vertical-align: inherit;">Это средство может быть очень удобным при частом подключении по SSH.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агент обычно настроен на автоматический запуск при входе в систему и сохранение в течение всего сеанса входа в систему. </font><font style="vertical-align: inherit;">Для достижения этого эффекта существует множество агентов, интерфейсов и конфигураций. </font><font style="vertical-align: inherit;">В этом разделе представлен обзор ряда различных решений, которые можно адаптировать к вашим конкретным потребностям.</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit10" id="ssh-agent"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-агент</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p> <code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">агент по умолчанию, включенный в OpenSSH. </font><font style="vertical-align: inherit;">Его можно использовать напрямую или в качестве серверной части для некоторых интерфейсных решений, упомянутых далее в этом разделе. </font><font style="vertical-align: inherit;">При </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">запуске он переходит в фоновый режим и печатает необходимые переменные среды. </font><font style="vertical-align: inherit;">Например</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-агент</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">SSH_AUTH_SOCK = / tmp / ssh-vEGjCM2147 / agent.2147; </font><font style="vertical-align: inherit;">экспорт SSH_AUTH_SOCK;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | SSH_AGENT_PID = 2148; </font><font style="vertical-align: inherit;">экспорт SSH_AGENT_PID;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | echo Agent pid 2148;</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Чтобы использовать эти переменные, запустите команду через </font></font><code>eval</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команду.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ eval $ (ssh-агент)</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агент пид 2157</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">После </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">запуска вам нужно будет добавить свой закрытый ключ в его кеш:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-add ~ / .ssh / id_ed25519</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Введите кодовую фразу для /home/user/.ssh/id_ed25519:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Идентификация добавлена: /home/user/.ssh/id_ed25519 (/home/user/.ssh/id_ed25519)</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если ваш закрытый ключ зашифрован, </font></font><code>ssh-add</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вам будет предложено ввести кодовую фразу. </font><font style="vertical-align: inherit;">После того, как ваш закрытый ключ будет успешно добавлен к агенту, вы сможете устанавливать SSH-соединения без необходимости вводить парольную фразу.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Совет:</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Чтобы все </font></font><code>ssh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">клиенты, включая </font></font><code>git</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ключи хранилища в агенте при первом использовании, добавьте параметр конфигурации </font></font><code>AddKeysToAgent yes</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">в </font></font><code>~/.ssh/config</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Другие возможные значения </font></font><code>confirm</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">, </font></font><code>ask</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и </font></font><code>no</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">( по </font><font style="vertical-align: inherit;">умолчанию).</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Чтобы агент запускался автоматически и был уверен, что одновременно </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">выполняется </font><font style="vertical-align: inherit;">только один </font><font style="vertical-align: inherit;">процесс, добавьте в свой </font></font><code>~/.bashrc</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">если ! </font><font style="vertical-align: inherit;">pgrep -u "$ USER" ssh-agent> / dev / null; </font><font style="vertical-align: inherit;">тогда</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | ssh-agent -t 1h> "$ XDG_RUNTIME_DIR / ssh-agent.env"</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | быть</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | если [[ ! </font><font style="vertical-align: inherit;">"$ SSH_AUTH_SOCK" |]]; </font><font style="vertical-align: inherit;">тогда</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | источник "$ XDG_RUNTIME_DIR / ssh-agent.env"> / dev / null</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | быть</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Это запустит </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">процесс, если его еще нет, и сохранит его вывод. </font><font style="vertical-align: inherit;">Если он уже запущен, мы получаем кэшированный </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вывод и оцениваем его, который устанавливает необходимые переменные среды. </font><font style="vertical-align: inherit;">Срок службы разблокированных ключей составляет 1 час.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Также существует ряд внешних </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и альтернативных агентов, описанных далее в этом разделе, которые позволяют избежать этой проблемы.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="start_ssh-agent_with_systemd_user"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Запустите ssh-agent с пользователем systemd</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Для запуска агента </font><font style="vertical-align: inherit;">можно использовать средства </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:systemd:user&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: systemd: пользователь" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">systemd / User</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Используйте это, если вы хотите, чтобы ваш агент ssh запускался, когда вы вошли в систему, независимо от того, запущен ли x.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">~ / .config / systemd / пользователь / ssh-agent.service</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[Ед. изм]</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Описание = ключевой агент SSH</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | [Услуга]</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Тип = простой</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Среда = SSH_AUTH_SOCK =% t / ssh-agent.socket</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | # ДИСПЛЕЙ необходим для работы ssh-askpass</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Окружающая среда = ДИСПЛЕЙ =: 0</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | ExecStart = / usr / bin / ssh-agent -D -a $ SSH_AUTH_SOCK</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | [Установить]</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | WantedBy = default.target</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Затем </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">экспортировать</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:environment_variable&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: environment_variable" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переменную окружения</font></font></a> <code>SSH_AUTH_SOCK=«$XDG_RUNTIME_DIR/ssh-agent.socket»</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в вашей </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:login_shell&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: login_shell" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">авторизации оболочки</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> файл инициализации, например, </font></font><code>~/.bash_profile</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">или </font></font><code>~/.zprofile</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Наконец, </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:enable&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: включить" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">включите</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> службу </font><font style="vertical-align: inherit;">или </font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:enable&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: включить" rel="nofollow"><font style="vertical-align: inherit;">присвойте ей </font></a></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:start&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: начало" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">название</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> с </font></font><code>–user</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">флагом.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание:</font></font></strong> </p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Если вы используете GNOME, эта переменная среды по умолчанию переопределяется. </font><font style="vertical-align: inherit;">См. | + | |
| - | </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnome:keyring&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#disable_keyring_daemon_components" class="wikilink2" title="title: gnome: брелок" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GNOME / Keyring # Отключение компонентов демона связки ключей</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Убедитесь, что не перезаписали существующий, | + | |
| - | </font></font><code>SSH_AUTH_SOCK</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">если вы хотите использовать | + | |
| - | </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:openssh&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#agent_forwarding" class="wikilink2" title="название: openssh" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">перенаправленный агент ssh</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Совет:</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> при запуске агента через systemd, как описано выше, можно автоматически ввести парольную фразу вашего ключа по умолчанию и добавить ее к агенту. </font><font style="vertical-align: inherit;">См. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/capocasa/systemd-user-pam-ssh" class="urlextern" title="https://github.com/capocasa/systemd-user-pam-ssh" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Systemd-user-pam-ssh</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для подробностей.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="ssh-agent_as_a_wrapper_program"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent как программа-оболочка</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Альтернативный способ запуска ssh-agent (скажем, с каждым X-сеансом) описан в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://upc.lbl.gov/docs/user/sshagent.shtml" class="urlextern" title="https://upc.lbl.gov/docs/user/sshagent.shtml" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">этом руководстве по ssh-agent от UC Berkeley Labs</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Базовый вариант использования - если вы обычно начинаете X с </font></font><code>startx</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команды, вы можете вместо этого префиксировать ее </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">следующим образом:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh-agent startx</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">И поэтому вам даже не нужно об этом думать, вы можете поместить псевдоним в свой </font></font><code>.bash_aliases</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">файл или эквивалент:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">псевдоним startx = 'ssh-agent startx'</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Это позволяет избежать проблемы наличия посторонних </font></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">экземпляров, перемещающихся между сеансами входа в систему. </font><font style="vertical-align: inherit;">Ровно один экземпляр будет жить и умереть за весь сеанс X.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> В качестве альтернативы звонку </font></font><code>ssh-agent startx</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">вы можете добавить </font></font><code>eval $(ssh-agent)</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">в </font></font><code>~/.xinitrc</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">См. </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#calling_x11-ssh-askpass_with_ssh-add" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Нижеприведенные примечания по использованию x11-ssh-askpass с ssh-add,</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> чтобы узнать, как сразу добавить свой ключ к агенту.</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit11" id="gnupg_agent"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Агент GnuPG</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnupg&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#gpg-agent" class="wikilink2" title="название: gnupg" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">gpg-agent</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> есть эмуляция протокола OpenSSH Agent. </font><font style="vertical-align: inherit;">См. </font><font style="vertical-align: inherit;">Необходимую конфигурацию в </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnupg&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh_agent" class="wikilink2" title="название: gnupg" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GnuPG # SSH agent</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit12" id="keychain"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Брелок</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://www.funtoo.org/Keychain" class="urlextern" title="https://www.funtoo.org/Keychain" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Связка ключей</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> - это программа, разработанная, чтобы помочь вам легко управлять своими ключами SSH с минимальным вмешательством пользователя. </font><font style="vertical-align: inherit;">Он реализован как сценарий оболочки, который управляет как </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent, так</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-add</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Примечательной особенностью Keychain является то, что он может поддерживать один </font><font style="vertical-align: inherit;">процесс </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в течение нескольких сеансов входа в систему. </font><font style="vertical-align: inherit;">Это означает, что вам нужно вводить кодовую фразу только один раз при каждой загрузке вашего локального компьютера.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="installation"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Установка</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:install&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: установить" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Установите</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> на </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dkeychain" class="urlextern" title="https://archlinux.org/packages/?name=keychain" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">брелка</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> пакет.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="configuration"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Конфигурация</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Предупреждение: по</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> состоянию на 26 сентября 2015 г. у этой </font></font><code>-Q, –quick</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опции есть неожиданный побочный эффект, </font><font style="vertical-align: inherit;">заключающийся в </font><font style="vertical-align: inherit;">переключении </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">связки ключей</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> на вновь созданный </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-агент</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> при повторном входе (по крайней мере, в системах, использующих </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnome&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: гном" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GNOME</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ), что вынуждает вас повторно добавлять все предыдущие зарегистрированные ключи.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Добавьте в </font><font style="vertical-align: inherit;">файл конфигурации </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:shell&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: оболочка" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">оболочки</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> строку, подобную следующей </font><font style="vertical-align: inherit;">, </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">например,</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> при использовании </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:bash&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: bash" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Bash</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> :</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">~ / .bashrc</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">eval $ (связка ключей --eval --quiet id_ed25519 id_rsa ~ / .keys / my_custom_key)</font></font></pre> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание:</font></font></strong> <code>~/.bashrc</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> используется вместо предлагаемого восходящего потока, </font></font><code>~/.bash_profile</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">потому что в Arch он исходит как из оболочки входа, так и из оболочки, не входящей в систему, что делает его подходящим как для текстовой, так и для графической среды. </font><font style="vertical-align: inherit;">См. </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:bash&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#invocation" class="wikilink2" title="название: bash" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Bash # Invocation</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для получения дополнительной информации о различиях между ними.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> В приведенном выше примере </font></font></p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | в | + | |
| - | </font></font><code>–eval</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">коммутационных выходов линии , </font><font style="vertical-align: inherit;">которые будут оценены открытия | + | |
| - | </font></font><code>eval</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команды; </font><font style="vertical-align: inherit;">это устанавливает необходимые переменные среды, чтобы клиент SSH мог найти ваш агент. | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <code>–quiet</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ограничит вывод предупреждениями, ошибками и подсказками пользователя. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В командной строке можно указать несколько ключей, как показано в примере. </font><font style="vertical-align: inherit;">По умолчанию связка ключей будет искать пары ключей в </font></font><code>~/.ssh/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">каталоге, но для ключей в нестандартном месте можно использовать абсолютный путь. </font><font style="vertical-align: inherit;">Вы также можете использовать </font></font><code>–confhost</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опцию для информирования брелки посмотреть в </font></font><code>~/.ssh/config</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">для </font></font><code>IdentityFile</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">настройки определенной для конкретных хостов, и использовать эти пути , </font><font style="vertical-align: inherit;">чтобы найти ключи.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">См. </font></font><code>keychain –help</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Или </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/keychain.1" class="urlextern" title="https://man.archlinux.org/man/keychain.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">keychain (1)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для получения подробной информации о настройке </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">связки ключей</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для других оболочек.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Чтобы протестировать Связку ключей, просто откройте новый эмулятор терминала или выйдите из системы и вернитесь в сеанс. </font><font style="vertical-align: inherit;">Он должен запросить у вас кодовую фразу для указанного закрытого ключа (ов) (если применимо), либо с помощью программы, установленной в </font></font><code>$SSH_ASKPASS</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">терминале, либо на терминале.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Поскольку Keychain повторно использует один и тот же </font><font style="vertical-align: inherit;">процесс </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> при последующих входах в систему, вам не нужно будет вводить кодовую фразу при следующем входе в систему или открытии нового терминала. </font><font style="vertical-align: inherit;">Вам будет предложено ввести кодовую фразу только один раз при каждой перезагрузке машины.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="tips"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">подсказки</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;" class="">keychain</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;" class=""> ожидает, что файлы открытых ключей будут существовать в том же каталоге, что и их частные копии, с | + | |
| - | </font></font><code>.pub</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;" class="">расширением. </font><font style="vertical-align: inherit;">Если закрытый ключ является символической ссылкой, открытый ключ можно найти рядом с символической ссылкой или в том же каталоге, что и цель символической ссылки (эта возможность требует, чтобы | + | |
| - | </font></font><code>readlink</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">команда была доступна в системе). | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | чтобы отключить графическую подсказку и всегда вводить кодовую фразу на терминале, используйте эту | + | |
| - | </font></font><code>–nogui</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опцию. </font><font style="vertical-align: inherit;">Это позволяет, например, скопировать длинные парольные фразы из диспетчера паролей. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Если вы не хотите, чтобы вам сразу предлагалось разблокировать ключи, а лучше подождать, пока они потребуются, используйте эту | + | |
| - | </font></font><code>–noask</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опцию. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание.</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Связка ключей может управлять </font><font style="vertical-align: inherit;">ключами </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gpg&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: gpg" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GPG</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> таким же образом. </font><font style="vertical-align: inherit;">По умолчанию он пытается запустить только </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , но вы можете изменить это поведение с помощью </font></font><code>–agents</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опции, </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">например</font></font></em> <code>–agents ssh,gpg</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">См. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/keychain.1" class="urlextern" title="https://man.archlinux.org/man/keychain.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Брелок (1)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit13" id="x11-ssh-askpass"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Пакет </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dx11-ssh-askpass" class="urlextern" title="https://archlinux.org/packages/?name=x11-ssh-askpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> предоставляет графический диалог для ввода пароля при запуске X-сеанса. </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> зависит только от </font><font style="vertical-align: inherit;">библиотек </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dlibx11" class="urlextern" title="https://archlinux.org/packages/?name=libx11" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">libx11</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dlibxt" class="urlextern" title="https://archlinux.org/packages/?name=libxt" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">libxt</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , а внешний вид </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> настраивается. </font><font style="vertical-align: inherit;">Хотя он может быть вызван программой </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-add</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , которая затем загрузит ваши расшифрованные ключи в </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh-agent" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , следующие инструкции вместо этого настроят </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для вызова вышеупомянутым </font><font style="vertical-align: inherit;">сценарием </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#keychain" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Keychain</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Установите </font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dx11-ssh-askpass" class="urlextern" title="https://archlinux.org/packages/?name=x11-ssh-askpass" rel="nofollow"><font style="vertical-align: inherit;">связку </font></a></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dkeychain" class="urlextern" title="https://archlinux.org/packages/?name=keychain" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ключей</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и </font><font style="vertical-align: inherit;">пакеты </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dx11-ssh-askpass" class="urlextern" title="https://archlinux.org/packages/?name=x11-ssh-askpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Отредактируйте </font></font><code>~/.xinitrc</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">файл, включив в него следующие строки, при необходимости заменив имя и расположение вашего закрытого ключа. </font><font style="vertical-align: inherit;">Обязательно поместите эти команды </font></font><strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">перед</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> строкой, вызывающей ваш оконный менеджер.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">~ / .xinitrc</font></font></pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">брелок ~ / .ssh / id_ecdsa</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | [-f ~ / .keychain / $ HOSTNAME-sh] &&. </font><font style="vertical-align: inherit;">~ / .keychain / $ HOSTNAME-sh 2> / dev / null</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | [-f ~ / .keychain / $ HOSTNAME-sh-gpg] &&. </font><font style="vertical-align: inherit;">~ / .keychain / $ HOSTNAME-sh-gpg 2> / dev / null</font></font><font></font> | + | |
| - | ...<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | exec openbox-session</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В приведенном выше примере первая строка вызывает цепочку </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ключей</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и передает имя и расположение вашего закрытого ключа. </font><font style="vertical-align: inherit;">Если это не первый раз, когда </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">связка ключей</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> вызывается, следующие две строки загружают содержимое </font></font><code>$HOSTNAME-sh</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и </font></font><code>$HOSTNAME-sh-gpg</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">, если они существуют. </font><font style="vertical-align: inherit;">В этих файлах хранятся переменные среды предыдущего экземпляра </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">связки ключей</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="calling_x11-ssh-askpass_with_ssh-add"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Вызов x11-ssh-askpass с помощью ssh-add</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">На </font><font style="vertical-align: inherit;">странице руководства </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-add</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> указано, что помимо необходимости </font></font><code>DISPLAY</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">определения переменной вам также необходимо </font></font><code>SSH_ASKPASS</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">указать имя вашей программы askpass (в данном случае </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-ssh-askpass</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ). </font><font style="vertical-align: inherit;">Следует иметь в виду, что установка Arch Linux по умолчанию </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">помещает</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> двоичный файл </font><em><font style="vertical-align: inherit;">x11-ssh-askpass</font></em></font><code>/usr/lib/ssh/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> , чего не будет у большинства людей </font></font><code>PATH</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Это немного раздражает не только при объявлении </font></font><code>SSH_ASKPASS</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переменной, но и при создании тем. </font><font style="vertical-align: inherit;">Вы должны везде указывать полный путь. </font><font style="vertical-align: inherit;">Оба неудобства можно решить одновременно, установив символическую ссылку:</font></font></p> | + | |
| - | <pre class="code">$ ln -sv /usr/lib/ssh/x11-ssh-askpass ~/bin/ssh-askpass</pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Предполагается, что это </font></font><code>~/bin</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">находится в вашем </font></font><code>PATH</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Итак, теперь в вашем </font></font><code>.xinitrc</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">, перед вызовом вашего оконного менеджера, просто нужно экспортировать </font></font><code>SSH_ASKPASS</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">переменную окружения:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ export SSH_ASKPASS = ssh-askpass</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">и ваши </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:x_resources&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: x_resources" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ресурсы X</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> будут содержать что-то вроде:</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-askpass * фон: # 000000</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Такой способ хорошо работает с </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh-agent_as_a_wrapper_program" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">описанным выше методом использования </font></font></a><em><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh-agent_as_a_wrapper_program" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-agent</font></font></a></em> <a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#ssh-agent_as_a_wrapper_program" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в качестве программы-оболочки</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Вы запускаете X с помощью, </font></font><code>ssh-agent startx</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">а затем добавляете </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ssh-add</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в список запускаемых программ вашего оконного менеджера.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="theming"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Тематика</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Появление </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">x11-SSH-askpass</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> диалоге можно настроить , </font><font style="vertical-align: inherit;">связанные с </font><font style="vertical-align: inherit;">ним </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:x_resources&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: x_resources" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">X ресурсов</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Некоторыми примерами являются файлы .ad по адресу </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/sigmavirus24/x11-ssh-askpass" class="urlextern" title="https://github.com/sigmavirus24/x11-ssh-askpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">https://github.com/sigmavirus24/x11-ssh-askpass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">См. </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://man.archlinux.org/man/x11-ssh-askpass.1" class="urlextern" title="https://man.archlinux.org/man/x11-ssh-askpass.1" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">X11-ssh-askpass (1)</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для получения полной информации.</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="alternative_passphrase_dialogs"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Альтернативные диалоги парольной фразы</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Существуют и другие программы диалога с </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">паролями,</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> которые можно использовать вместо </font><em><font style="vertical-align: inherit;">x11-ssh-askpass</font></em><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">В следующем списке представлены некоторые альтернативные решения.</font></font></p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dksshaskpass" class="urlextern" title="https://archlinux.org/packages/?name=ksshaskpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ksshaskpass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> использует | + | |
| - | </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:kde_wallet&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: kde_wallet" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">кошелек KDE</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dopenssh-askpass" class="urlextern" title="https://archlinux.org/packages/?name=openssh-askpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">openssh-askpass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> использует | + | |
| - | </font><font style="vertical-align: inherit;">библиотеку </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:qt&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: qt" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Qt</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"> | + | |
| - | <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dlxqt-openssh-askpass" class="urlextern" title="https://archlinux.org/packages/?name=lxqt-openssh-askpass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">lxqt-openssh-askpass</font></font></a> | + | |
| - | </div> </li> | + | |
| - | </ul> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit14" id="pam_ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_ssh</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Проект </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=http://pam-ssh.sourceforge.net/" class="urlextern" title="http://pam-ssh.sourceforge.net/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_ssh</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> существует для предоставления </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:pluggable_authentication_module&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: pluggable_authentication_module" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">подключаемого модуля аутентификации</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> (PAM) для закрытых ключей SSH. </font><font style="vertical-align: inherit;">Этот модуль может обеспечивать единый вход для ваших SSH-соединений. </font><font style="vertical-align: inherit;">При входе в систему можно ввести парольную фразу закрытого ключа SSH вместо традиционного системного пароля или в дополнение к нему. </font><font style="vertical-align: inherit;">После того, как вы прошли аутентификацию, модуль pam_ssh запускает ssh-agent для хранения вашего расшифрованного закрытого ключа на время сеанса.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Чтобы включить режим единого входа в приглашении входа на tty, установите неофициальный </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://aur.archlinux.org/packages/pam_ssh/" class="urlextern" title="https://aur.archlinux.org/packages/pam_ssh/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">пакет </font></font></a><sup><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">AUR </font></font></sup><font style="vertical-align: inherit;"><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://aur.archlinux.org/packages/pam_ssh/" class="urlextern" title="https://aur.archlinux.org/packages/pam_ssh/" rel="nofollow"><font style="vertical-align: inherit;">pam_ssh</font></a><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Примечание:</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> pam_ssh 2.0 теперь требует, чтобы все закрытые ключи, используемые в процессе аутентификации, находились в папке </font></font><code>~/.ssh/login-keys.d/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Создайте символическую ссылку на свой файл закрытого ключа и поместите ее в </font></font><code>~/.ssh/login-keys.d/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Замените </font></font><code>id_rsa</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">в приведенном ниже примере имя вашего собственного файла закрытого ключа.</font></font></p> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ mkdir ~ / .ssh / login-keys.d /</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ cd ~ / .ssh / ключи входа в систему.d /</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ ln -s ../id_rsa</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Отредактируйте </font></font><code>/etc/pam.d/login</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">файл конфигурации, включив в него текст, выделенный жирным шрифтом в приведенном ниже примере. </font><font style="vertical-align: inherit;">Порядок, в котором появляются эти строки, важен и может повлиять на поведение при входе в систему.</font></font></p> | + | |
| - | <p> <strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Предупреждение:</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> неправильная настройка PAM может привести к тому, что система окажется в состоянии, когда все пользователи будут заблокированы. </font><font style="vertical-align: inherit;">Прежде чем вносить какие-либо изменения, вы должны понимать, как работает конфигурация PAM, а также о средствах резервного копирования для доступа к файлам конфигурации PAM, например, Arch Live CD, на случай, если вы заблокированы и вам нужно отменить любые изменения. </font><font style="vertical-align: inherit;">Доступна </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://developer.ibm.com/tutorials/l-pam/" class="urlextern" title="https://developer.ibm.com/tutorials/l-pam/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">статья</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> IBM developerWorks, </font><font style="vertical-align: inherit;">в которой более подробно объясняется конфигурация PAM.</font></font></p> | + | |
| - | <pre class="code">/etc/pam.d/login</pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">#% PAM-1.0</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется авторизация pam_securetty.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | реквизит авторизации pam_nologin.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | auth включает систему-локальный-логин</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | auth необязательный pam_ssh.so try_first_pass</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | учетная запись включает систему-локальный-логин</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | сеанс включает систему-локальный-логин</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | сеанс необязательный pam_ssh.so</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В приведенном выше примере аутентификация при входе в систему первоначально выполняется как обычно, при этом пользователю предлагается ввести свой пароль. Дополнительное </font></font><code>auth</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">правило аутентификации, добавленное в конец стека аутентификации, затем инструктирует модуль pam_ssh попытаться расшифровать любые закрытые ключи, найденные в </font></font><code>~/.ssh/login-keys.d</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">каталоге. В</font></font><code>try_first_pass</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Параметр передается модулю pam_ssh, инструктируя его сначала попытаться расшифровать любые закрытые ключи SSH, используя ранее введенный пароль пользователя. Если парольная фраза закрытого ключа пользователя и пароль пользователя совпадают, это должно быть успешным, и пользователю не будет предлагаться ввести один и тот же пароль дважды. В случае, если пароль пользователя секретного ключа парольной фразы отличается, модуль pam_ssh предложит пользователю ввести парольную фразу SSH после ввода пароля пользователя. В </font></font><code>optional</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">стоимости управления гарантирует , </font><font style="vertical-align: inherit;">что пользователи , </font><font style="vertical-align: inherit;">не имеющий закрытый ключ SSH все еще в </font><font style="vertical-align: inherit;">состоянии войти. Таким образом, использование pam_ssh будет прозрачным для пользователей без секретного ключа SSH.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если вы используете другое средство входа в систему, например, диспетчер отображения X11, например </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:slim&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: тонкий" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">SLiM</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> или </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:xdm&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: xdm" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">XDM,</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> и хотите, чтобы он предоставлял аналогичные функции, вы должны аналогичным образом отредактировать связанный с ним файл конфигурации PAM. </font><font style="vertical-align: inherit;">Пакеты, обеспечивающие поддержку PAM, обычно помещают в каталог файл конфигурации по умолчанию </font></font><code>/etc/pam.d/</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Более подробную информацию о том, как использовать pam_ssh и список его опций, можно найти на странице руководства pam_ssh (8). </font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="using_a_different_password_to_unlock_the_ssh_key"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Использование другого пароля для разблокировки ключа SSH</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если вы хотите разблокировать ключи SSH или нет, в зависимости от того, используете ли вы парольную фразу вашего ключа или (другой!) Пароль для входа в систему, вы можете изменить </font></font><code>/etc/pam.d/system-auth</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">на</font></font></p> | + | |
| - | <pre class="code">/etc/pam.d/system-auth</pre> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">#% PAM-1.0</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | auth [success = 1 new_authtok_reqd = 1 ignore = игнорировать default = ignore] pam_unix.so try_first_pass nullok</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется авторизация pam_ssh.so use_first_pass</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | auth необязательный pam_permit.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется авторизация pam_env.so</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | необходим аккаунт pam_unix.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | аккаунт необязательный pam_permit.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | необходим аккаунт pam_time.so</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется пароль pam_unix.so try_first_pass nullok sha512 shadow</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | пароль необязательный pam_permit.so</font></font><font></font> | + | |
| - | <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется сеанс pam_limits.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | требуется сеанс pam_unix.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | сеанс необязательный pam_permit.so</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | сеанс необязательный pam_ssh.so</font></font></pre> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Объяснение см. В </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://unix.stackexchange.com/a/239486" class="urlextern" title="https://unix.stackexchange.com/a/239486" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[7]</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h4 id="known_issues_with_pam_ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Известные проблемы с pam_ssh</font></font></h4> | + | |
| - | <div class="level4"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Работа над проектом pam_ssh ведется нечасто, а представленная документация немногочисленна. </font><font style="vertical-align: inherit;">Вы должны знать о некоторых его ограничениях, которые не упоминаются в самом пакете.</font></font></p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Версии pam_ssh до версии 2.0 не поддерживают ключи SSH, использующие более новую опцию криптографии ECDSA (эллиптическая кривая). Если вы используете более ранние версии pam_ssh, вы должны использовать ключи RSA или DSA. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"></font><code>ssh-agent</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Процесс , </font><font style="vertical-align: inherit;">порожденный pam_ssh не сохраняется между пользовательскими логинами. </font><font style="vertical-align: inherit;">Если вы хотите, чтобы | + | |
| - | </font><font style="vertical-align: inherit;">сеанс </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnu_screen&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: gnu_screen" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GNU Screen</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> оставался активным между входами в систему, вы можете заметить при повторном подключении к сеансу screen, что он больше не может взаимодействовать с ssh-agent. </font><font style="vertical-align: inherit;">Это связано с тем, что среда GNU Screen и ее дочерние элементы по-прежнему будут ссылаться на экземпляр ssh-agent, который существовал при вызове GNU Screen, но впоследствии был отключен при предыдущем выходе из системы. </font><font style="vertical-align: inherit;">Внешний | + | |
| - | </font><font style="vertical-align: inherit;">интерфейс </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#keychain" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Keychain</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> позволяет избежать этой проблемы, поддерживая активность процесса ssh-agent между входами в систему. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit15" id="pam_exec-ssh"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_exec-ssh</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">В качестве альтернативы </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#pam_ssh" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_ssh</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> вы можете использовать </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://aur.archlinux.org/packages/pam_exec-ssh/" class="urlextern" title="https://aur.archlinux.org/packages/pam_exec-ssh/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">pam_exec-ssh </font></font></a><sup><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">AUR</font></font></sup><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Это сценарий оболочки, который использует pam_exec. </font><font style="vertical-align: inherit;">Справку по настройке можно найти в </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/x70b1/pam_exec-ssh" class="urlextern" title="https://github.com/x70b1/pam_exec-ssh" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">апстриме</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit16" id="gnome_keyring"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Брелок GNOME</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Если вы используете </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnome&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: гном" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GNOME</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> рабочий стол, то </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnome_keyring&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: gnome_keyring" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">GNOME Keyring</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> инструмент может быть использован в </font><font style="vertical-align: inherit;">качестве SSH агента. </font><font style="vertical-align: inherit;">См. Статью о </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:gnome_keyring&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="title: gnome_keyring" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">связке ключей GNOME</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> для получения дополнительных сведений.</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit17" id="store_ssh_keys_with_kwallet"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Храните ключи SSH с помощью Kwallet</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Инструкции по использованию kwallet для хранения ключей SSH см. В разделе </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:kde_wallet&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#using_the_kde_wallet_to_store_ssh_key_passphrases" class="wikilink2" title="title: kde_wallet" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Кошелек KDE # Использование кошелька KDE для хранения парольных фраз ssh</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> .</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit18" id="keepass2_with_keeagent_plugin"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePass2 с плагином KeeAgent</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://lechnology.com/software/keeagent/" class="urlextern" title="https://lechnology.com/software/keeagent/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeeAgent</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> - это плагин для </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:keepass&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: keepass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePass,</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> который позволяет использовать ключи SSH, хранящиеся в базе данных KeePass, для аутентификации SSH другими программами.</font></font></p> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Поддерживает форматы закрытых ключей PuTTY и OpenSSH. | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Работает с собственным агентом SSH в Linux / Mac и с PuTTY в Windows. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">См </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:keepass&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#plugin_installation_in_keepass" class="wikilink2" title="название: keepass" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">установка KeePass # Plugin в KeePass</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> или </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?id=title:install&_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http" class="wikilink2" title="название: установить" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">установить</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> на </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://archlinux.org/packages/?name%3Dkeepass-plugin-keeagent" class="urlextern" title="https://archlinux.org/packages/?name=keepass-plugin-keeagent" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePass-плагин-keeagent</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> пакет.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Этот агент можно использовать напрямую, сопоставляя сокет KeeAgent: </font></font><code>KeePass → Tools → Options → KeeAgent → Agent mode socket file → %XDG_RUNTIME_DIR%/keeagent.socket</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">- и переменную среды: </font></font><code>export SSH_AUTH_SOCK=«$XDG_RUNTIME_DIR»'/keeagent.socket</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">'.</font></font></p> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit19" id="keepassxc"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">KeePassXC</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Форк KeePassXC для KeePass </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://keepassxc.org/docs/%23faq-ssh-agent-how" class="urlextern" title="https://keepassxc.org/docs/#faq-ssh-agent-how" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">по умолчанию поддерживает использование в качестве агента SSH</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . </font><font style="vertical-align: inherit;">Он также совместим с форматом базы данных KeeAgent.</font></font></p> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit20" id="troubleshooting"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Исправление проблем</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | </div> | + | |
| - | <h3 class="sectionedit21" id="key_ignored_by_the_server"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Ключ игнорируется сервером</font></font></h3> | + | |
| - | <div class="level3"> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Если кажется, что сервер SSH игнорирует ваши ключи, убедитесь, что у вас установлены надлежащие разрешения для всех соответствующих файлов. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Для локальной машины: | + | |
| - | </font></font><pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ chmod 700 ~ / .ssh</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ chmod 600 ~ / .ssh / ключ</font></font></pre> | + | |
| - | </div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Для удаленной машины: | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ chmod 700 ~ / .ssh</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | $ chmod 600 ~ / .ssh / authorized_keys</font></font></pre> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Для удаленного компьютера также убедитесь, что домашний каталог целевого пользователя имеет правильные разрешения (он </font></font><em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">не</font></font></em><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> должен | + | |
| - | </font><font style="vertical-align: inherit;">быть доступен для записи группе и другим пользователям): | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ chmod go-w / home / target_user</font></font></pre> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Если это не решает проблему , </font><font style="vertical-align: inherit;">вы можете попробовать временно установив | + | |
| - | </font></font><code>StrictModes</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">на | + | |
| - | </font></font><code>no</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">в | + | |
| - | </font></font><code>/etc/ssh/sshd_config</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">. </font><font style="vertical-align: inherit;">Если проверка подлинности с помощью | + | |
| - | </font></font><code>StrictModes off</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">прошла успешно, вероятно, проблема с правами доступа к файлам сохраняется. | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Убедитесь, что ключи | + | |
| - | </font></font><code>~/.ssh/authorized_keys</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">введены правильно и используют только одну строку. | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Убедитесь, что удаленный компьютер поддерживает тип ключей, которые вы используете: некоторые серверы не поддерживают ключи ECDSA, попробуйте вместо этого использовать ключи RSA или DSA, см. # | + | |
| - | </font></font><a href="https://synology-webmastermsk-ru.translate.goog/dokuwiki/doku.php?_x_tr_sl=ru&_x_tr_tl=ru&_x_tr_hl=en&_x_tr_pto=nui&_x_tr_sch=http#generating_an_ssh_key_pair" title="linux: ssh: key ↵" class="wikilink1"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Создание пары ключей SSH</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> . | + | |
| - | </font></font></div> </li> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Вы можете использовать режим отладки и контролировать вывод при подключении: | + | |
| - | </font></font><pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"># / usr / bin / sshd -d</font></font></pre> | + | |
| - | </div> </li> | + | |
| - | </ul> | + | |
| - | <ul> | + | |
| - | <li class="level1"> | + | |
| - | <div class="li"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> | + | |
| - | Если вы, например </font></font><code>id_rsa_server</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">, </font><font style="vertical-align: inherit;">присвоили ключу другое имя | + | |
| - | </font><font style="vertical-align: inherit;">, вам необходимо подключиться с помощью | + | |
| - | </font></font><code>-i</code><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">опции: | + | |
| - | </font></font></div> </li> | + | |
| - | </ul> | + | |
| - | <pre class="code"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">$ ssh -i id_rsa_server пользователь @ сервер</font></font></pre> | + | |
| - | </div> | + | |
| - | <h2 class="sectionedit22" id="a_solution_for_existing_repositories"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Решение для существующих репозиториев</font></font></h2> | + | |
| - | <div class="level2"> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Вы можете столкнуться с </font><font style="vertical-align: inherit;">ошибкой </font><font style="vertical-align: inherit;">« </font></font><strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Убедитесь, что у вас есть правильные права доступа</font></font></strong><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> » в существующем репозитории, с которым вы работаете. </font><font style="vertical-align: inherit;">Это может быть вызвано проблемой SSH, поэтому перед тем, как продолжить, вам следует проверить настройку аутентификации SSH, если вы ее используете.</font></font></p> | + | |
| - | <p> <a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://careerkarma.com/blog/git-another-process-seems-to-be-running/" class="urlextern" title="https://careerkarma.com/blog/git-another-process-seems-to-be-running/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">»БОЛЬШЕ: Git Похоже, что в этом репозитории запущен другой процесс git. </font></font></a> </p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Предполагая, что проверка подлинности SSH не является вашей проблемой, убедитесь, что вы указываете правильный удаленный </font></font><abbr title="Единый указатель ресурсов"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">URL-адрес</font></font></abbr><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> в своем репозитории. </font><font style="vertical-align: inherit;">Вы можете сделать это с помощью удаленной команды git:</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <hljs language-undefined> git remote -v </hljs> </font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Флаг -v позволяет нам видеть URL-адреса, на которые указывает наш репозиторий: </font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><hljs language-perl> origin </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/career-karma-tutorials/ck-git" class="urlextern" title="https://github.com/career-karma-tutorials/ck-git" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">https://github.com/career-karma-tutorials/ck-git</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> (fetch) origin </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/career-karma-tutorials/ck-git" class="urlextern" title="https://github.com/career-karma-tutorials/ck-git" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">https://github.com/career-karma-tutorials/ck-git</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> (push) </ hljs></font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Предположим, наш репозиторий переместился в ck-git-tutorials и был создан новый репозиторий ck-git, на который у нас нет разрешения. </font><font style="vertical-align: inherit;">Нам придется обновить наш удаленный указатель, чтобы мы указывали на правильный репозиторий.</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Мы можем сделать это с помощью команды </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://careerkarma.com/blog/git-change-remote/" class="urlextern" title="https://careerkarma.com/blog/git-change-remote/" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">git remote set-url</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> :</font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><hljs language-cpp> git источник удаленного set-url </font></font><a href="https://translate.google.com/website?sl=ru&tl=ru&nui=1&u=https://github.com/career-karma-tutorials/ck-git-tutorials" class="urlextern" title="https://github.com/career-karma-tutorials/ck-git-tutorials" rel="nofollow"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">https://github.com/career-karma-tutorials/ck-git-tutorials</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </hljs></font></font></p> | + | |
| - | <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Это изменит наш указатель на репозиторий ck-git-tutorials. </font><font style="vertical-align: inherit;">Теперь мы можем изменить наш репозиторий и отправить наш код с помощью команды git push.</font></font></p> | + | |
| - | </div> | + | |
| - | <script type="text/javascript"> | + | |
| - | syntaxhighlighterConfig = { | + | |
| - | autoLinks: true, | + | |
| - | gutter: true, | + | |
| - | htmlScript: false, | + | |
| - | tabSize: 4, | + | |
| - | smartTabs: true | + | |
| - | } | + | |
| - | </script> | + | |
| - | <script type="text/javascript"> | + | |
| - | //<![CDATA[ | + | |
| - | try { | ||
| - | if(!window.HTMLParserInstalled || !HTMLParserInstalled){ | ||
| - | LoadScript("http://synology.webmastermsk.ru/dokuwiki/lib/plugins/ckgedit/scripts/script-cmpr.js"); | ||
| - | } | ||
| - | } | ||
| - | catch (ex) { | ||
| - | LoadScript("http://synology.webmastermsk.ru/dokuwiki/lib/plugins/ckgedit/scripts/script-cmpr.js"); | ||
| - | } | ||
| - | if("") { | ||
| - | LoadScriptDefer(""); | ||
| - | } | ||
| - | function createRequestValue() { | ||
| - | try{ | ||
| - | var inputNode=document.createElement('input'); | ||
| - | inputNode.setAttribute('type','hidden'); | ||
| - | inputNode.setAttribute('value','yes'); | ||
| - | inputNode.setAttribute('name','dwedit_preview'); | ||
| - | inputNode.setAttribute('id','dwedit_preview'); | ||
| - | var dwform = GetE("dw__editform"); | ||
| - | dwform.appendChild(inputNode); | ||
| - | }catch(e) { alert(e); } | ||
| - | } | ||
| - | //]]> | ||
| - | </script> | ||
| - | <!-- wikipage stop --> | ||
| - | </div> | ||