Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Сведения о центрах сертификации SSH

С помощью центра сертификации SSH ваша учетная запись организации или предприятия может предоставлять сертификаты SSH, которые участники могут использовать для доступа к ресурсам посредством Git.

Сведения о центрах сертификации SSH

Сертификат SSH используется для подписания одного ключа SSH другим ключом SSH. Если вы предоставляете участникам организации подписанные сертификаты SSH с помощью центра сертификации (ЦС) SSH, этот центр можно добавить в вашу корпоративную учетную запись или организацию. Это позволит участникам организации использовать свои сертификаты для доступа к ресурсам организации.

ЦС SSH, добавленный в организацию или корпоративную учетную запись, можно использовать для подписывания сертификатов клиента SSH для участников организации. Участники организации могут использовать подписанные сертификаты для получения доступа к репозиториям только вашей организации с помощью Git. Использование участниками сертификатов SSH для доступа к ресурсам организации можно сделать обязательным. Дополнительные сведения см. в разделах Управление центрами сертификации SSH в вашей организации и Применение политик для параметров безопасности в вашем предприятии.

Например, вы можете создать внутреннюю систему, которая будет каждое утро выдавать разработчикам новый сертификат. Каждый разработчик сможет использовать свой ежедневный сертификат для работы с репозиториями вашей организации в GitHub Enterprise Server. В конце дня срок действия сертификата может автоматически истекать, благодаря чему ваши репозитории будут защищены от его последующей компрометации.

Участники не смогут использовать свои сертификаты для доступа к вилкам репозиториев, которые принадлежат их личным учетным записям.

Сведения о URL-адресах SSH с сертификатами SSH

Чтобы исключить ошибки проверки подлинности при выполнении операций Git по протоколу SSH в тех случаях, когда использование сертификатов SSH в организации обязательно, участникам организации необходимо использовать специальный URL-адрес, содержащий идентификатор организации. Это позволит клиенту и серверу упростить согласование используемого для проверки подлинности ключа на компьютере участника. Если участник использует обычный URL-адрес, начинающийся с git@github.com, клиент SSH может предложить неправильный ключ, что приведет к сбою операции.

Этот URL-адрес любой пользователь с доступом на чтение к репозиторию может найти в раскрывающемся меню Код на главной странице репозитория, щелкнув Использовать SSH.

Если использование сертификатов SSH в вашей организации не обязательно, участники могут продолжать использовать собственные ключи SSH или другие способы проверки подлинности. В таком случае подойдет как специальный URL-адрес, так и обычный URL-адрес, начинающийся с git@github.com.

Выдача сертификатов

При выдаче каждого сертификата необходимо включить расширение, указывающее, для какого пользователя GitHub Enterprise Server используется сертификат. Например, можно использовать команду OpenSSH ssh-keygen, заменив KEY-IDENTITY на удостоверение вашего ключа, а USERNAME — на имя пользователя GitHub Enterprise Server. Создаваемый сертификат будет давать право действовать от имени этого пользователя при работе с любыми ресурсами вашей организации. Прежде чем выдавать сертификат, проверьте личность пользователя.

Примечание. Чтобы использовать эти команды, необходимо обновить до OpenSSH 7.6 или более поздней версии.

$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@HOSTNAME=USERNAME ./user-key.pub

Предупреждение. После подписания и выдачи сертификата отозвать его нельзя. Обязательно настройте время существования сертификата с помощью флага -V, иначе он будет бессрочным.

Чтобы выдать сертификат для пользователя, который использует SSH для доступа к нескольким продуктам GitHub, можно включить два расширения входа и указать имя пользователя для каждого продукта. Например, следующая команда выдает сертификат для USERNAME-1 для учетной записи пользователя в GitHub Enterprise Cloud и для USERNAME-2 для учетной записи пользователя в GitHub AE или GitHub Enterprise Server на узле HOSTNAME.

$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@github.com=USERNAME-1 extension:login@HOSTNAME=USERNAME-2 ./user-key.pub

С помощью расширения source-address вы можете ограничить список IP-адресов, с которых участник организации может получать доступ к ее ресурсам. Это расширение принимает отдельные IP-адреса или диапазоны IP-адресов в нотации CIDR. Вы можете указать несколько адресов или диапазонов, разделяя значения запятыми. Дополнительные сведения см. в статье Бесклассовая адресация в Википедии.

$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@HOSTNAME=USERNAME -O source-address=COMMA-SEPARATED-LIST-OF-IP-ADDRESSES-OR-RANGES ./user-key.pub