Настройка SSH-подключений к экземпляру
Каждый экземпляр данных GitHub Enterprise Server принимает SSH-подключения через два порта. Администраторы сайта могут получить доступ к административной оболочке посредством SSH, а затем запускать служебные программы командной строки, устранять неполадки и выполнять обслуживание. Пользователи могут подключаться по SSH для доступа к данным Git и записи их в репозитории экземпляра. У пользователей нет доступа к экземпляру посредством оболочки. Дополнительные сведения см. в следующих руководствах.
Чтобы разместить клиенты SSH в вашей среде, можно настроить типы подключений, которые будет принимать экземпляр GitHub Enterprise Server.
Настройка SSH-подключений с помощью ключей RSA
Когда пользователи выполняют операции Git с экземпляр GitHub Enterprise Server через SSH через порт 22, клиент может пройти проверку подлинности с помощью ключа RSA. Клиент может подписать попытку с помощью хэш-функции SHA-1. В этом контексте хэш-функция SHA-1 больше не является безопасной. Дополнительные сведения см. в статье SHA-1 в Википедии.
По умолчанию в GitHub Enterprise Server 3.6 и более поздних версий, подключения SSH, удовлетворяющие обоим следующим условиям, завершаются ошибкой.
- Ключ RSA был добавлен в учетную запись пользователя экземпляр GitHub Enterprise Server после полуночи (UTC) 1 августа 2022 г.
- Клиент SSH подписывает попытку подключения с помощью хэш-функции SHA-1.
Вы можете настроить дату прекращения. Если пользователь загрузил ключ RSA до даты прекращения, клиент может по-прежнему успешно устанавливать подключение с помощью SHA-1, пока ключ остается действительным. Кроме того, можно отклонить все подключения SSH, прошедшие проверку подлинности с помощью ключа RSA, если клиент подписывает подключение с помощью хэш-функции SHA-1.
Независимо от выбранных параметров экземпляра клиенты могут по-прежнему подключаться с использованием любого ключа RSA, подписанного хэш-функцией SHA-2.
Если вы используете центр сертификации SSH, подключения завершаются ошибкой, если дата valid_after
сертификата установлена позднее, чем дата прекращения. Дополнительные сведения см. в разделе Сведения о центрах сертификации SSH.
Дополнительные сведения см. в the GitHub Blog.
-
Переход по протоколу SSH в экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе по протоколу SSH см. в разделе Доступ к административной оболочке (SSH).
$ ssh -p 122 admin@HOSTNAME
-
Проверьте журналы экземпляра на наличие подключений, использующих небезопасные алгоритмы или хэш-функции, используя для этого служебную программу
ghe-find-insecure-git-operations
. Дополнительные сведения см. в разделе Служебные программы командной строки. -
Чтобы настроить дату отсечения, после которой экземпляр GitHub Enterprise Server будет запрещать подключения от клиентов, использующих ключ RSA, отправленный после даты, если подключение подписано хэш-функцией SHA-1, введите следующую команду. Замените RFC-3399-UTC-TIMESTAMP допустимой меткой времени RFC 3399 UTC. Например, значение по умолчанию "1 августа 2022 г." будет представлено как
2022-08-01T00:00:00Z
. Дополнительные сведения см. в разделе RFC 3339 на веб-сайте IETF.$ ghe-config app.gitauth.rsa-sha1 RFC-3339-UTC-TIMESTAMP
-
Кроме того, чтобы полностью отключить SSH-подключения, использующие ключи RSA, подписанные с помощью хэш-функции SHA-1, введите следующую команду.
ghe-config app.gitauth.rsa-sha1 false
-
Чтобы применить конфигурацию, введите следующую команду.
Примечание. Во время выполнения конфигурации службы в экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к кратковременным простоям пользователей.
ghe-config-apply
-
Подождите завершения запуска конфигурации.