Настраиваю git в корпоративной среде. Операции Git будут осуществляться в основном через SSH с использованием одной учетной записи с ключами SSH, используемыми для управления доступом. (http будет использоваться для настройки учетной записи, просмотра веб-кода, но мало чего еще.)
Но идея иметь SSH-ключи, срок действия которых никогда не истекает, мне кажется глупой. Достаточно всего лишь одного скомпрометированного компьютера для утечки закрытого ключа, и злоумышленник получит доступ к нашей интеллектуальной собственности на неограниченный срок.
Я много гуглил, и информации об этом очень мало. Что меня тревожит, потому что я не думаю, что я на ложном пути.
Было бы достаточно просто истекать срок действия ключей на регулярной основе, хотя такие инструменты, как GitLab и Stash, не упрощают это. У нас есть "git login
"сценарий-оболочка для отправки открытых ключей SSH на сервер. Он может гарантировать, что старые ключи не просто повторно используются, а также может гарантировать использование специальных ключей (как указано в~/.ssh/config
), чтобы мы не перезаписывали регулярно чьи-то ~/.ssh/id_da*
и остановка их других входов в систему. (Хотя при использовании ключей в нестандартном месте, указанном в ssh config
файл может быть проблематичным для некоторых из моих пользователей lon-linux (Windows).)
Кто-нибудь еще это делал? Какая лучшая практика в отрасли?
Обновить
Хорошо, похоже, что часть ответа: «Это именно то, для чего предназначены парольные фразы SSH». Остальные вопросы относятся к следующему.
Есть ли способ принудительно использовать и регулярно менять парольные фразы? Я предполагаю, что люди подчинятся, просто для них это должно быть легко.
При этом парольные фразы ssh исключают возможность выполнения операций git в задании cron. Что было бы настоящей помехой, которую нельзя было бы сделать.
Ответ на ваш вопрос - нет, в ssh нет способа принудительно изменять парольные фразы.
Поскольку вы используете одну учетную запись, предположительно, все открытые ключи будут в одном файле authorised_keys, поэтому вы можете сделать ключи недействительными, удалив их из него. Хотя это кажется слишком большим усилием, и люди могут просто использовать одну и ту же парольную фразу на другом ключе.
Способ облегчить вашу проблему - использовать многофакторную аутентификацию, таким образом, даже если фраза ключа / пароля скомпрометирована, на пути есть другой уровень.