Git

Настройте Git Server с SSH в Ubuntu

Настройте Git Server с SSH в Ubuntu
Если над некоторыми проектами работает небольшое количество членов команды, вы можете настроить сервер Git через SSH в своем офисе и очень легко работать над проектами в команде. В этом случае вам не нужно использовать GitHub или какие-либо другие сервисы. Сервер Git на основе SSH действительно прост в настройке и использовании. В этой статье я покажу вам, как настроить сервер Git с SSH в Ubuntu и как его использовать. Итак, приступим.

Настройка Git Server:

В этом разделе я покажу вам, как настроить сервер Ubuntu в качестве сервера Git, доступного по SSH.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

$ sudo подходящее обновление

Кэш репозитория пакетов APT должен быть обновлен.

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

$ sudo apt установить openssh-server git

Теперь нажмите Y а затем нажмите для подтверждения установки.

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

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

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

Все репозитории Git будут сохранены в домашнем каталоге мерзавец Пользователь / home / git.

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

$ sudo su - git

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

$ mkdir .ssh

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

$ chmod 700 .ssh /

Как видите, мерзавец у пользователя есть только права на чтение (r), запись (w), выполнение (x) на .ssh / каталог.

$ ls -ld .ssh /

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

$ touch .ssh / authorized_keys

Разрешить только чтение и запись в файл из мерзавец пользователь следующим образом:

$ chmod 600 .ssh / authorized_keys

Как видите, только мерзавец у пользователя есть права на чтение (r) и запись (w) в файл .ssh / authorized_keys.

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

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

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

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

$ ssh-keygen

Нажмите .

Нажмите .

Нажмите .

Нажмите .

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

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

Публичный ключ клиента должен быть распечатан. Теперь клиент может отправить этот открытый ключ менеджеру (который управляет сервером Git). Затем менеджер может добавить открытый ключ на сервер Git. Затем клиент может получить доступ к серверу Git.

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

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

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

Теперь .ssh / authorized_keys файл должен иметь открытый ключ клиента.

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

Клиенты не могут создавать новые репозитории Git на сервере. Менеджер сервера Git должен создать репозиторий на сервере. Затем клиенты могут клонировать, выталкивать / извлекать из репозитория.

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

$ git init --bare testrepo

Теперь клиенту нужно знать только IP-адрес сервера Git, чтобы получить доступ к Testrepo Репозиторий Git.

Диспетчер серверов Git может найти эту информацию следующим образом:

$ ip a

Как видите, IP-адрес сервера Git - 192.168.21 год.185. Теперь менеджер сервера может сообщить об этом клиентам, которые будут работать над проектом.

Клонирование репозитория Git с сервера:

Как только клиент знает IP-адрес и имя репозитория Git, он / она может клонировать его на свой компьютер следующим образом:

$ git clone git @ 192.168.21 год.185: ~ /> testrepo

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

В Testrepo Репозиторий Git нужно клонировать с сервера.

Новый каталог Testrepo должен быть создан.

Внесение изменений и отправка изменений на сервер Git:

Теперь клиент может добавлять коммиты в testrepo / репозиторий и отправьте изменения на сервер Git.

$ cd testrepo /

$ echo "Hello world"> тест.текст

$ git add .

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

[cc lang = "bash"]
$ git push origin

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

Теперь скажем, боб хочет внести свой вклад в Testrepo Репозиторий Git.

Все, что ему нужно сделать, это сгенерировать пару ключей SSH и отправить открытый ключ диспетчеру сервера Git.

$ ssh-keygen

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

$ cat / tmp / боб-ключ.паб >> ~ /.ssh / authorized_keys

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

$ git clone git @ 192.168.21 год.185: ~ / testrepo

Testrepo должен быть клонирован.

Новый каталог Testrepo должен быть создан на компьютере Боба.

Теперь Боб может перейти в репозиторий Git следующим образом:

$ cd testrepo /

Он должен найти некоторые существующие коммиты.

$ git журнал

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

$ echo "Hello World 2" >> тест.текст

$ git add .
$ git commit -m 'Измененное сообщение'

$ git push origin

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

$ git pull origin

Он / она должен найти коммиты, которые боб сделал.

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

5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...
Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...