Настройка 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 и используете его. Спасибо, что прочитали эту статью.