Git Via Ssh
22 July 2023
git-сервер без настройки
Наткнулся на довольно неожиданную, но простую и полезную фичу гита, а точнее его интеграции с ssh. Один из распространённых видов аутентификация на git-сервере, это аутентификация по ssh-ключу, где копирование данных репозитория осуществляется по протоколу ssh. Долгое время я думал, что для использования этого метода нужен специально настроенный сервер, но оказалось нет, подойдёт любой сервер, на который есть доступ по ssh. Работает это примерно так:
$ git clone ssh://<servername>/<path-to-repo>
Где <servername>
это ip-адрес сервера или имя записи для него в ~/.ssh/config
, а <path-to-repo>
-
путь до клонируемого репозитория на сервере, home directory expansion тоже поддерживается.
Таким нехитрым образом можно настроить без всяких серверов (ну кроме дефолтного ssh) репозиторий,
который можно синхронизировать между девайсами с помощью привычных git push
и git pull
. Правда,
могут возникнуть проблемы с правами, если в такой репозиторий будут коммитить несколько человек,
но это решается классическим для Unix способом: завести группу, в которую будут входить все, кому
надо коммитить в репозиторий и дать ей права на его чтение и запись. В остальном полезный хак,
периодически бывает удобно разрабатываться на нескольких девайсах без дополнительного похода в гитхаб.