Git clone, push and pull от нескольких пользователей на сервере Ubuntu
Фон
у меня есть Linode
сервер с Ubuntu 16.04
как на ОС на нем. Сервер для моей внутренней команды. У нас есть репозитории, размещенные на github, bitbucket и gitlab. Только администратор сервера имеет доступ к серверу.
Мы сгенерировали ssh keys
для всех пользователей, добавил их в провайдеров git и клонировал репозитории
Постановка задачи
Всякий раз, когда я делаю git pull на сервере, он всегда запрашивает основную ключевую фразу файла основного ключа.
Enter passphrase for key '/root/.ssh/id_rsa':
Когда я ввожу фразу-пароль, она показывает мне Permission denied error
1 ответ
Вы должны сгенерировать пару ключей без пароля (просто нажмите [enter], когда ssh-keygen запросит пароль). И если сервер выполняет только извлечения, вы хотите ограничить его права "только для чтения" на стороне хранилища, так что если ключ будет скомпрометирован, он не позволит кому-либо повредить ваш хранилище или, что еще хуже, добавить бэкдоры в ваш сервер. код.
Если проблема в том, что у вас есть несколько ключей (по одному для каждого из github, bitbucket и gitlab), а git использует только один, то вам нужно настроить ~/.ssh/config, чтобы указать разные ключи для каждого сервера:
Host github.com
IdentityFile ~/.ssh/id_rsa_github
User someuser
но даже в этом случае вам нужны ключи без пароля.