2

У нас есть веб-сервер, который содержит веб-приложение, хранящееся в виде проекта github. Теперь все мы можем перейти с локальных компьютеров на github, а затем получить доступ с веб-сервера.

Иногда мы хотим внести небольшие изменения на веб-сервере и сразу увидеть эффект, так что было бы здорово иметь возможность выталкивать и с веб-сервера.

Теперь я создал ключ ssh для сервера, но я не хочу добавлять ключ ssh серверов в свою учетную запись github, потому что тогда все действия github, выполняемые с сервера, засчитываются в мою учетную запись. Я также не хочу копировать свой закрытый ключ на сервер, очевидно.

Можно ли добавить ключ ssh веб-сервера в проект веб-приложения github, не создавая нового пользователя для сервера, и каков наилучший метод для этой ситуации?

2 ответа2

2

Ключи SSH для каждой учетной записи на github (и везде), и вы не хотите иметь учетную запись для сервера и не присоединять сервер к одной из личных учетных записей.

Я полагаю, у вас есть только одна учетная запись для всех на веб-сервере для редактирования git repo / веб-приложения. В противном случае у вас не будет ограничения одного ключа для сервера.

Поэтому, если вы действительно хотите перейти с сервера непосредственно на github, вам нужно создать разные логины / пользователя на веб-сервере, а затем войти в систему как один из этих пользователей, чтобы перейти на github.

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

Моя идея состоит в том, чтобы заставить группу git для всего хранилища с помощью

chgrp -R git <git repo dir>
chmod -R g+s <git repo dir>

а затем принудительно разрешить запись по умолчанию для новых файлов для этой группы с

setfacl -R -m d:g:git:rwX

Это было бы моим решением для веб-сервера Linux с ACL. Если у вас есть веб-сервер Windows, вы можете сделать то же самое, но вы, очевидно, должны сделать это в графическом интерфейсе или использовать другие команды.


С точки зрения конфигурации github/ssh вы должны создать ключ ssh для каждого пользователя на веб-сервере, и каждый пользователь добавляет их в свою личную учетную запись пользователя git. Вам по-прежнему не следует копировать закрытый ключ со своего компьютера на веб-сервер.

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .