Gitlab add ssh key linux

Установка GitLab в Ubuntu 20.04

Приложение GitLab CE (Community Edition) – инструмент для хранения репозиториев Git вместе с некоторыми функциями разработчика. Например, он умеет отслеживать ошибки. За счет открытого кода он стал популярным при развертывании внутренних хранилищ с командным доступом к коду и возможностью его предоставления сторонним пользователям.

В этой статье рассмотрим способ самостоятельной установки GitLab и его настройку.

Требования к серверу

Понадобится компьютер минимум с двухъядерным процессором и объемом памяти 8 Гбайт. Размер и тип накопителя не принципиален (желательно избегать использования своп-пространства). Вместо локальной машины подойдет и облачный сервер с такими же характеристиками. На него следует установить операционную систему Ubuntu 20.04 (версия 18.04 тоже подойдет) и настроить домен, направленный на наш сервер. В примерах мы будем указывать условное имя example.com.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.

Установим зависимости

Прежде чем настраивать GitLab на сервере , рекомендуется инсталлировать приложения, которые необходимы для корректного функционирования инструмента. Все их можно скачать из официального репозитория Ubuntu. Первым делом обновим индекс пакетов и установим зависимости приложения:

sudo apt update
sudo apt install ca-certificates curl openssh-server postfix

Вероятно, что часть программ была установлена ранее, но лучше продублировать команду, чтобы они наверняка присутствовали на компьютере. При инсталляции postfix рекомендуется выбирать Internet Site и после запроса вводить IP-адрес хоста или буквенный домен. Тогда система сможет отправлять уведомления.

Установим GitLab

Чтобы начать установку приложения GitLab , сначала загрузим соответствующий сценарий. Для этого нужно зайти в директорию /tmp и выполнить команду:

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Перед запуском желательно ознакомиться с содержимым файла во избежание выполнения каких-либо лишних действий:

Теперь можно запускать сценарий:

Команда подготовит компьютер для развертывания репозитория GitLab. После этого и получится управлять пакетами при помощи встроенных в операционную систему инструментов. Например, установить само приложение:

sudo apt install gitlab-ce

По завершении установки можно приступать к другим операциям.

Настроим брандмауэр

Сначала проверим текущее состояние брандмауэра. Нам нужно, чтобы был разрешен трафик по SSH, HTTP и HTTPS. Выполняем команду:

Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

Сейчас открыт только доступ по SSH. Работать предстоит через протокол HTTP, GitLab поддерживает подключение SSL-сертификатов от Let’s Encrypt с доступом через HTTPS. Оба варианта взаимодействия нужно прописать в файле /etc/services. Заодно стоит проверить наличие в нем доступа по OpenSSH. Выполним команду:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Теперь еще раз проверим состояние брандмауэра:

Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)

Все, интерфейс GitLab через веб-браузер стал доступным.

Читайте также:  Dr web enterprise security suite astra linux

Изменим настройки

Перед тем как пользоваться GitLab , нужно отредактировать его конфигурацию:

sudo nano /etc/gitlab/gitlab.rb

После открытия файла нужно найти строку external_url (она расположена в самом начале). Там следует указать актуальное доменное имя сервера, в нашем случае это example.com. Лучше сразу внести поддержку протокола HTTPS, чтобы впоследствии программа работала с шифрованием SSL.

Пример изменений конфигурации:

##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'https://example.com'

Следом найдем строку letsencrypt[‘contact_emails’] . Сюда вносят email, по которому пользователь будет уведомляться о возникающих ошибках. Чтобы активировать функцию, нужно убрать символ комментариев и указать свой email.

letsencrypt['contact_emails'] = [' example@example.com']

Теперь сохраним изменения, закрыв файл и согласившись с предложением. После введем команду для обновления параметров GitLab:

sudo gitlab-ctl reconfigure

Она инициализирует новые настройки, чтобы приложение узнало о нашем сервере. Процедура обновления происходит автоматически, запросы появляться на экране не будут. Заодно такой перезапуск перенастроит сертификат Let’s Encrypt на нужный домен.

Работа с GitLab через веб-интерфейс

Настроим доступ по логину

Интерфейс приложения доступен по адресу:

В окне браузера откроется страница с приветствием и предложением выбрать пароль админа. Его лучше делать понадежнее, со строчными и прописными буквами, цифрами. После ввода следует нажать на «Change Your Password». Браузер перенаправит пользователя на форму аутентификации, где понадобится ввести данные аккаунта:

После нажатия на «Sign In» система авторизует пользователя, и можно будет добавлять проект.

Настроим профиль

По умолчанию GitLab устанавливает стандартный профиль. Если хочется отредактировать его, кликнем по иконке аккаунта (справа в углу наверху экрана). В выпадающем меню выберем Settings и попадем в раздел Profile. Там есть возможность заменить аватарку, внести имя, email и другие настройки. Система самостоятельно подставляет такие значения:

Читайте также:  Linux mount lvm2 member

Их следует заменить на собственные. Ведь имя пользователя увидят другие участники проекта, а почта понадобится для получения различных уведомлений. Обновление данных произойдет по клику на « Update Profile Settings » . На указанный адрес придет письмо с предложением подтвердить регистрацию аккаунта.

Скорректируем имя пользователя

Имя по умолчанию root будет безопаснее изменить на пользовательское. Для этого выберем Account в меню слева. Внести новое имя можно в пункте Change Username. В этом же разделе можно настроить двухфакторную идентификацию.

Изменение способа входа повышает безопасность системы. Ведь root используется повсеместно, а это уже создает почву для взлома путем перебора паролей. Права доступа остаются прежними, зато риски несанкционированного доступа заметно снижаются. Чтобы сохранить новое имя, нажмем на « Update Username » . Теперь при старте GitLab можно использовать другой аккаунт.

Добавим SSH-ключ

Теперь разберемся, как добавить ключ SSH на GitLab . Он используется для общения Git и GitLab. Для генерации ключей введите на локальном компьютере команду:

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

После считаем открытый ключ:

В консоли отобразится ключ — скопируем его и перейдем в настройки профиля GitLab. Следом зайдем в меню SSH Keys и в поле, предложенном системой, внесем скопированную комбинацию цифр и символов. Можно добавить краткое описание, после чего подтвердить изменения нажатием на «Add Key». После сохранения обмен данными с локальной машиной будет осуществляться по защищенному каналу.

Ограничим или заблокируем открытую регистрацию

Пока наш экземпляр GitLab позволит зарегистрироваться любому пользователю, который по какой-либо причине выяснил IP-адрес или название домена. Доступно это и различным ботам, которые распространяют вредоносное ПО. Поэтому желательно закрывать такую возможность и давать доступ только проверенным участникам проектов.

Чтобы настроить систему, кликнем на «гаечный ключ», расположенный в правой верхней части экрана. На открывшейся странице будут отображены общие сведения. Через выпадающее меню выберем Settings и в разделе глобальных настроек хранилища GitLab включим блокировку регистрации в различных режимах.

Блокируем регистрацию

Функция полного отключения возможности зарегистрироваться расположена в разделе Sign-Up Restrictions. Там уберем галочку на пункте Sign-Up Enabled и нажмем на «Save» для сохранения новых параметров. После применения настроек на открывающейся странице пропадет форма регистрации.

Блокируем регистрацию по домену

Откроем Sign-Up Restrictions и поставим галочку в пункте Send Confirmation Email on Sign-Up. Она активирует функцию регистрации с обязательной проверкой электронной почты. Теперь внесем домен или их список в белый список через поле Whitelisted Domains for Sign-Ups. Если речь идет о нескольких адресах, каждый указываем в новой строке:

Whitelisted domains for sign-ups
example.com
*. example.com

Система поддерживает и поддомены (символ * в примере). Остается нажать на «Save Changes», и форма регистрации исчезнет с посадочной страницы.

Читайте также:  Mosquito linux что это

Ограничим возможность создания проектов

По умолчанию система позволяет создавать до 10 проектов каждому пользователю. Но можно и ограничить эту возможность, если специалисты привлекаются для работы над уже существующими. Откроем Account and Limit Settings и изменим значение Default Project Limit . Если установить 0, новые пользователи не смогут создать ни одного проекта.

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

Обновим сертификат Let’s Encrypt

Приложение GitLab по умолчанию обновляет сертификаты каждый четвертый день в полночь. Но можно изменить график, например, делать это 1 раз в неделю в 12:30. Выполняется настройка следующей командой:

letsencrypt['auto_renew_hour'] = "12"
letsencrypt['auto_renew_minute'] = "30"
letsencrypt['auto_renew_day_of_month'] = "*/7"

Если требуется отключить автообновление, достаточно в файл /etc/gitlab/gitlab.rb добавить строку:

letsencrypt['auto_renew'] = false

Заключение

Мы разобрались, как устанавливать и настраивать GitLab . И теперь можем создавать новые проекты, перемещать старые в подготовленный репозиторий, управлять доступом к ним. Приложение продолжает развиваться и пополнять встроенный функционал, поэтому будет полезным интересоваться изменениями. В качестве репозитория лучше использовать облачные сервисы Timeweb Cloud .

Источник

How do I add an SSH key in gitlab?

enter image description here

Here is what my dashboard looks like: Not really sure where to add an SSH key. Anyone have any idea?

5 Answers 5

Go to your GitLab account: https://gitlab.com/

enter image description here

Click on Settings on the top right drop-down, which will appear once you select the icon(white-fox image [specific to my profile]).

Click on Settings on the top right drop-down, which will appear once you select the icon(white-fox image).

Add/Paste the SSH Key.
How to generate the ssh key: Download gitbash or putty:

After downloading gitbash/putty follow the steps:

  1. Open a terminal on Linux or macOS, or Git Bash / WSL on Windows.
  2. Generate a new ED25519 SSH key pair:
ssh-keygen -t ed25519 -C "email@example.com" 
ssh-keygen -t rsa -b 4096 -C "email@example.com" 

enter image description here

It will generate the key in => C:\Users\yourname.ssh directory.

  • Copy the public key and paste in the gitlab location:
  • Command to run on gitbash to clone the repository:

    ssh-agent $(ssh-add C:\Users\youname\.ssh\id_rsa; git clone git@gitlab.com:xyz/SpringBootStarter.git) 

    Источник

    Оцените статью
    Adblock
    detector