Рейтинг:1

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

флаг us

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

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

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

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

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

У нас есть производственная машина, которой управляет только наш технический директор. «Просмотр кода», когда это происходит, происходит на этой машине до того, как она будет запущена в производство.

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

Bradley Armstrong avatar
флаг us
У нас есть корпоративная учетная запись GitHub, и у каждого есть собственный ключ ssh вместе с доступом к репозиторию. Проблема в том, что я могу установить только один ключ для проекта на нашем веб-сервере. По крайней мере, текущим методом.
Bradley Armstrong avatar
флаг us
Такое случается. На ваше усмотрение об удалении
terdon avatar
флаг cn
Это очень, очень, очень плохая установка. Вы должны переместить свои репозитории в локальные каталоги $HOME и _не_ запускать git с помощью sudo!
Рейтинг:2
флаг cn

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

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

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

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

Bradley Armstrong avatar
флаг us
Немного подкорректирую свой вопрос. Это предварительная подготовка машины для веб-тестирования. Нам нужна только одна копия на этой машине.
terdon avatar
флаг cn
@BradleyArmstrong, тогда почему кто-то работает над машиной? Просто имейте одну копию и разрешите root извлекать соответствующую ветку, почему вы хотите, чтобы разработчики писали прямо в репозиторий? Каждый разработчик вносит свои изменения в свой локальный репозиторий, отправляет в удаленную ветку (в идеале она затем проходит проверку кода), затем ветка проверяется на целевой машине для развертывания.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.