Git clone, push and pull от нескольких пользователей на сервере Ubuntu

526
baig772

Фон

У меня есть Linodeсервер с Ubuntu 16.04ОС на нем. Сервер для моей внутренней команды. У нас есть репозитории, размещенные на github, bitbucket и gitlab. Только администратор сервера имеет доступ к серверу.

Мы сгенерировали ssh keysдля всех пользователей, добавили их в git провайдеров и клонировали репозитории

Постановка задачи

Всякий раз, когда я делаю git pull на сервере, он всегда запрашивает основную ключевую фразу файла основного ключа.

Enter passphrase for key '/root/.ssh/id_rsa': 

Когда я ввожу фразу-пароль, она показывает мне Permission denied error

enter image description here

1

1 ответ на вопрос

0
xenoid

Вы должны сгенерировать пару ключей без пароля (просто нажмите [enter], когда ssh-keygen запросит пароль). И если сервер выполняет только извлечения, вы хотите ограничить его права «только для чтения» на стороне хранилища, так что если ключ будет скомпрометирован, он не позволит кому-либо повредить ваш хранилище или, что еще хуже, добавить бэкдоры в ваш сервер. код.

Если проблема в том, что у вас есть несколько ключей (по одному для каждого из github, bitbucket и gitlab), а git использует только один, то вам нужно настроить ~ / .ssh / config, чтобы указать разные ключи для каждого сервера :

Host github.com IdentityFile ~/.ssh/id_rsa_github User someuser 

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

Хорошо. Попробую это. Но что, если мне нужны ключи, защищенные паролем, для моего сервера? Как мне сказать git запросить пароль для этого конкретного ключа? baig772 6 лет назад 0
Может быть, неправильно понял ваш вопрос (кто / что такое «пользователи»?). Смотрите отредактированный ответ. xenoid 6 лет назад 0