Проблема Sudo: нужна помощь с Github и ключами ssh моей команды

Я не могу найти вопрос, который полностью относится к этому. Я использую ubuntu 20.04, и мой проект хранится в / var / www / html / My_Project

В настоящее время я работаю с командой из пяти человек, и когда мы нажимаем или вытягиваем, мы используем sudo. Когда мы это делаем, наш репозиторий git обращается через https и запрашивает учетные данные. На сегодняшний день GitHub больше не использует стандартные пароли для https, теперь это токен, который выглядит примерно так «lksadknkasjvjkasd345kKja345neuhiehkjsdfn» (не настоящий токен). Это боль, которую нужно держать и использовать снова и снова.

Я установил ключ ssh, но мне пришлось установить свой ключ для пользователя root, потому что ни у кого нет прав на запись в этот каталог. (Мне очень нравится использовать sudo для внесения изменений).Итак, есть ли способ, которым мы все еще можем использовать sudo, но использовать ключ каждого члена команды, а не только мой.

Я считаю, что все используют мой ключ, это просто плохая практика.

Добавив некоторые пояснения, я понимаю, что это плохая установка. Я не тот парень, который может это изменить. У нас есть 5 разработчиков со своими проектами на этой машине, и каждый разработчик не имеет доступа ко всем репозиториям, поэтому наличие 1 ключа ssh в качестве root не сработает.

У нас действительно есть производственная машина, которой управляет только наш технический директор, "Code Review", когда это происходит, проходит на этой машине, прежде чем она поступает в производство.

Так что, пожалуйста, отвечайте на вопрос только в том случае, если у вас есть решение, или дайте мне знать, если это просто безнадежный эндевор. #SolutionsNeeded

1
задан 16 August 2021 в 15:50

1 ответ

Плохая практика заключается в том, что ваш репозиторий находится в директории, доступной для записи. Судя по тому, что вы описываете, это еще хуже, и на самом деле у вас все используют один и тот же локальный репозиторий git! Такого рода поражение в первую очередь лишает смысла использование git! Если кто-то из вас испортит репозиторий, вы не сможете исправить это из чужой локальной копии. Вы также не можете работать одновременно. Это действительно очень плохая установка.

Вы говорите, что вам нравится использовать sudo для внесения изменений. Мне очень жаль, но в этом нет никакого смысла. Вы контролируете доступ, контролируя то, что объединяется, а не контролируя, кто может писать в файлы локального репозитория! Кроме того, это ужасно небезопасный подход: вы предоставляете всем своим разработчикам root-доступ к машине, чтобы они могли писать свой код! Я подозреваю, что вы думаете, что это повышает безопасность, но на самом деле это происходит с точностью до наоборот.

Скажите всем запустить git clone в своих домашних каталогах , чтобы каждый мог иметь свою собственную локальную копию кода. Затем настройте свой репозиторий так, чтобы он не допускал слияния без проверенного запроса на перенос. В любом случае это то, чего вы хотите.

Это не только позволит вам использовать git в полной мере, когда у всех будет локальная копия репозитория, что обеспечивает безопасность кода и позволяет нескольким людям работать параллельно, в одной или разных ветвях, но и будет иметь приятный побочный эффект решения проблемы, которую вы описываете в своем вопросе: теперь каждый может добавить свой собственный открытый ключ ssh в GitHub, сохранить свой закрытый ключ ssh в $ HOME /.ssh / и иметь возможность отправлять в репозиторий и открывать запросы на вытягивание, которые владелец репозитория может просмотреть и объединить.

2
ответ дан 20 August 2021 в 10:27

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

Похожие вопросы: