Git

Настройте Git Server с SSH на CentOS 8

Настройте Git Server с SSH на CentOS 8
Если у вас небольшая технологическая компания, вы можете настроить сервер Git на основе SSH, чтобы люди, работающие над проектом, могли сотрудничать друг с другом. В этой статье я покажу вам, как настроить сервер Git с SSH на CentOS 8. Итак, приступим.

Настройка SSH для Git Server:

Чтобы настроить сервер Git для работы через SSH, вы должны убедиться, что SSH установлен и работает правильно.

Сначала обновите кеш репозитория пакетов CentOS 8 с помощью следующей команды:

$ sudo dnf makecache

Теперь установите SSH-сервер с помощью следующей команды:

$ sudo dnf install -y openssh

Он должен быть установлен. В моем случае он уже был установлен.

Теперь проверьте, запущена ли служба SSH, с помощью следующей команды:

$ sudo systemctl status sshd

Служба SSH должна быть запущена, как показано на скриншоте ниже.

Если по какой-то причине служба SSH у вас не работает, вы можете запустить ее с помощью следующей команды:

$ sudo systemctl start sshd

Теперь разрешите доступ к портам SSH через брандмауэр с помощью следующей команды:

$ sudo firewall-cmd --add-service = ssh --permanent

Наконец, выполните следующую команду, чтобы изменения конфигурации брандмауэра вступили в силу:

$ sudo firewall-cmd --reload

Установка Git:

Теперь вы можете установить Git с помощью следующей команды:

$ sudo dnf установить git

Чтобы подтвердить установку, нажмите Y, а затем нажмите .

Git должен быть установлен.

Создание выделенного пользователя для размещения репозиториев Git:

Теперь создайте выделенного пользователя мерзавец с помощью следующей команды:

$ sudo useradd --create-home --shell / bin / bash git

Теперь войдите как мерзавец пользователем с помощью следующей команды:

$ sudo su - git

Теперь создайте новый каталог ~ /.ssh следующим образом:

$ mkdir ~ /.ssh

Только мерзавец пользователь должен иметь права на чтение, запись и выполнение для ~ /.ssh каталог.

Для этого выполните следующую команду:

$ chmod 700 ~ /.ssh /

Как видите, теперь только пользователь мерзавец имеет права на чтение, запись и выполнение в каталоге.

$ ls -ld ~ /.ssh /

Теперь создайте новый файл ~ /.ssh / authorized_keys следующим образом:

$ touch ~ /.ssh / authorized_keys

Только мерзавец пользователь должен иметь разрешение на чтение и запись в ~ /.ssh / authorized_keys файл.

Для этого выполните следующую команду:

$ chmod 600 ~ /.ssh / authorized_keys

Как видите, теперь только пользователь мерзавец имеет разрешение на чтение и запись в ~ /.ssh / authorized_keys файл.

$ ls -lh ~ /.ssh / authorized_keys

Добавление открытого ключа клиента на сервер Git:

Чтобы получить доступ к репозиториям git на сервере Git, пользователи репозитория должны добавить свои открытые ключи на сервер Git.

Пользователи могут сгенерировать свои ключи SSH с помощью следующей команды:

$ ssh-keygen

Нажмите .

Нажмите .

Нажмите .

Ключ SSH должен быть сгенерирован.

Теперь пользователи могут найти свой открытый ключ в ~ /.ssh / id_rsa.паб файл.

$ cat ~ /.ssh / id_rsa.паб

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

Допустим, администратор сервера загрузил файл открытого ключа на сервер Git. Файл находится по пути / tmp / shovon-key.паб.

Теперь администратор сервера может добавить содержимое открытого ключа в ~ /.ssh / authorized_keys файл следующим образом:

$ cat / tmp / shovon-key.паб >> ~ /.ssh / authorized_keys

Открытый ключ должен быть добавлен в конец ~ /.ssh / authorized_keys файл.

Создание пустого репозитория Git на сервере Git:

В домашнем каталоге мерзавец пользователь, мы сохраним все наши репозитории Git, к которым уполномоченные люди могут получить доступ.

Чтобы создать пустой репозиторий Git контрольная работа на сервере Git выполните следующую команду:

$ git init --bare test.мерзавец

Если авторизованный пользователь хочет получить доступ к репозиторию Git с сервера Git, все, что ему нужно, это имя репозитория Git и IP-адрес сервера Git.

Чтобы узнать IP-адрес сервера Git, выполните следующую команду:

$ nmcli

В моем случае IP-адрес 192.168.20.129. Для тебя будет иначе. Так что не забудьте заменить его с этого момента.

Новый каталог контрольная работа.мерзавец должен быть создан на сервере Git.

Доступ к репозиториям Git с сервера Git:

Теперь авторизованный пользователь может получить доступ к контрольная работа Репозиторий Git, который мы создали ранее, выглядит следующим образом:

$ git clone git @ 192.168.20.129: ~ / test.мерзавец

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

Репозиторий Git контрольная работа должен быть клонирован.

Новый каталог контрольная работа/ должен быть создан в текущем рабочем каталоге пользователя.

Пользователь должен будет перейти в каталог test / следующим образом:

$ cd test /

Допустим, пользователь создал новый файл.

$ echo "Hello world"> сообщение.текст

Подтвердил изменения.

$ git add .

$ git commit -m 'начальная фиксация'

$ git log --oneline

Затем пользователь отправил изменения на сервер Git.

$ git push origin

Добавление еще одного члена команды:

Если другой пользователь хочет получить доступ к тесту репозитория Git, ему нужно будет сгенерировать ключ SSH и отправить открытый ключ администратору сервера Git. После того, как администратор сервера Git добавит свой открытый ключ в ~ /.ssh / authorized_keys файл, пользователь также может получить доступ к репозиториям Git на сервере.

Скажем, боб также хочет работать над контрольная работа Репозиторий Git.

Он клонирует контрольная работа Репозиторий Git на его компьютере.

$ git clone git @ 192.168.20.129: ~ / test.мерзавец

боб типы в да и прессы .

В контрольная работа Репозиторий Git клонирован.

боб переходит к контрольная работа/ каталог.

Находит фиксацию, сделанную человеком, работающим над этим репозиторием Git.

$ git log --oneline

Вносит некоторые изменения в проект.

$ echo "это изменение от bob" >> сообщение.текст

Фиксирует изменения.

$ git add .

$ echo "это изменение от bob" >> сообщение.текст

$ git log --oneline

боб отправляет изменения на сервер Git.

Теперь другой пользователь Шовон извлекает изменения (если есть) в репозиторий Git с сервера Git.

Шовон находит новый коммит, который боб сделал.

сообщение $ cat.текст

Итак, вот как вы настраиваете сервер Git с SSH на CentOS 8 и используете его. Спасибо, что прочитали эту статью.

Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...
Учебник Battle for Wesnoth
Битва за Веснот - одна из самых популярных стратегических игр с открытым исходным кодом, в которую вы можете играть сейчас. Эта игра не только очень д...