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

но даже в этом случае вам нужны ключи без пароля.

Другие вопросы по тегам