можно ли добавить ssh-add глобально
Я могу сделатьssh-add противidentifyFile которые остаются навсегда, в настоящее время они преобладают только для текущего активногоssh session (т. е. identityFile, добавленный с помощью ssh-add, теряется при создании нового ssh-сеанса с сервером, можно найти, выполнив ssh-add -L)
Проблема в том, что на нашем сервере amazon есть различные проекты с репо в github.
Теперь у каждого из репоaccess right based on the users сказатьuser A has access right only for project A а такжеB has an access right on project B только
С этим набором прав доступа (в github) теперь каждый пользователь может выполнять операции git (например, git fetch, git push и т. Д.) Только тамrespective project (что мы и хотим)
Теперь все, что я хочу, - это когда пользователь выполняет операцию git для соответствующего проекта, который я хочу.ssh-agent взять все ssh-ключи в учетных записях и найти тот, который соответствует конкретным пользователям
Note
that each ssh-key has a phrases(a unique secret know to each user there own) associated with it, prompted to enter when perform git function.
для достижения этого мы делаем
ssh-add /root/.ssh/A
or
ssh-add /root/.ssh/B
Но, как упоминалось ранее, это только остаться дляactive ssh-session ,exit или сделатьnew ssh сессия с сервером, информация о ssh-addlost, можно найти, запустивssh-add -L
Я также попытался определить IdentityFile в .ssh / config, как это описано в этомвопрос
что-то вроде этого
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/A
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/B
Это работает только для одного пользователя (иногда это работает для «A», а иногда нет, то же самое относится и к «B»)
Может ли быть достигнута эта сегрегация или я звучу слишком амбициозно?
Спасибо