Назад | Перейти на главную страницу

Git: истекает срок действия ключей ssh, как истекает срок действия паролей?

Настраиваю 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, поэтому вы можете сделать ключи недействительными, удалив их из него. Хотя это кажется слишком большим усилием, и люди могут просто использовать одну и ту же парольную фразу на другом ключе.

Способ облегчить вашу проблему - использовать многофакторную аутентификацию, таким образом, даже если фраза ключа / пароля скомпрометирована, на пути есть другой уровень.