18.11. Обращение к удалённому репозиторию CVS
Проблема
Сервер CVS настроен и готов к работе. Как защитить удалённый доступ к нему со стороны пользователей?
Решение
Используйте OpenSSH — это один из самых простых и защищённых методов доступа к репозиториям CVS как по локальной сети, так и по Интернету. Если правильно настроить OpenSSH с самого начала, для обеспечения всего удалённого доступа будет достаточно одного подключения и метода аутентификации (настройка OpenSSH рассмотрена в главе 17).
Подключение через SSH настраивается следующим образом:
- Установите и настройте OpenSSH на всех хостах (на сервере CVS и на всех хостах, которые к нему будут подключаться).
- Запустите OpenSSH на сервере CVS в режиме демона.
- Убедитесь в том, что у всех пользователей имеются учётные записи на сервере CVS.
- Настройте ключи и протестируйте подключения SSH к серверу.
- На компьютерах пользователей включите следующую строку в файлы
.cvsrc
(при необходимости создайте эти файлы):
CVS_RSH=SSH
Допустим, удалённый сервер CVS находится на хосте cvs.project.net
. Подключение к репозиторию из родительского каталога локальной «песочницы» осуществляется так:
$ cvs -d :ext:jenn@cvs.project.net:/cvsroot checkout scripts
jenn@cvs.project.net's password:
Если сервер CVS находится в локальной сети, достаточно указать имя или IP-адрес хоста:
$ cvs -d :ext:jenn@cvs:/cvsroot checkout scripts
Комментарий
OpenSSH поддерживает разные способы подключения к удалённым хостам. Вы можете использовать учётные записи или проводить аутентификацию при помощи парных ключей (открытого и закрытого). Программа keychain
обеспечит удобную и безопасную аутентификацию с использованием ключей, так что вам не придётся вводить пароль каждый раз (см. раздел 17.7).
OpenSSH шифрует весь обмен данными, что гарантирует защиту передаваемой информации как при подключении, так и при пересылке данных. Механизм подключения легко реализуется, а использование одного механизма для доступа как к локальной сети, так и к Интернету значительно упрощает администрирование сервера CVS.
Система контроля версий CVS позволяет организовать централизованное хранение исходных кодов и их совместную разработку с безопасным доступом. Благодаря OpenSSH, поддержка безопасности передаваемых данных значительно увеличивается. Рекомендуется регулярно проверять статус ключей SSH и применять только текущие версии OpenSSH для избежания устаревших или небезопасных алгоритмов шифрования.
Для большего удобства можно настроить автоматическую авторизацию без пароля, используя SSH-ключи. Однако следует помнить, что хранение закрытых ключей должно быть защищено, доступ к ним ограничен правами владельца, а сам ключ должен иметь права 600. Никогда не передавайте закрытые ключи другим пользователям.
См. также
Раздел 17.7; домашняя страница CVS (https://www.cvshome.org).