Четверг, 16.01.2025 17:42

Настраиваем доступ к удаленному git-серверу через SSH на примере GitFlic

Настраиваем доступ к удаленному git-серверу через SSH на примере GitFlic

Сегодня мы рассмотрим настройку доступа к удаленному git-серверу через SSH на примере GitFlic.

Создание SSH-ключа

Создадим SSH-ключ:

ssh-keygen -t ed25519 -C "my-email@mail.ru"

Вместо my-email@mail.ru указывайте адрес электронной почты, который вы использовали при регистрации на сервере!

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):

Введите полный путь и имя нового файла:

/home/user/.ssh/id_gitflic

В нашем случае это будет файл

id_gitflic
Created directory '/home/user/.ssh'.
Enter passphrase for "/home/user/.ssh/id_gitflic" (empty for no passphrase):

Введите пароль от ключа.

Обратите внимание! SSH-ключ не заменяет пароль пользователя! Он просто увеличивает безопасность соединения! Поэтому пароль от ключа должен сильно отличаться от пароля реального пользователя на сервере!

Your identification has been saved in /home/user/.ssh/id_gitflic
Your public key has been saved in /home/user/.ssh/id_gitflic.pub
The key fingerprint is:
SHA256:XjSQcjRkXoS25J0YzCVRpD+1bgReia2nc0PdzDbRD8c “my-email@mail.ru”
The key's randomart image is:
+--[ED25519 256]--+
|       =OO*      |
|      .oX* o . ..|
|       *o==.= ..E|
|        ++o* o *o|
|        S * = ..*|
|       . . B   ..|
|        . o =    |
|           + .   |
|                 |
+----[SHA256]-----+

Будут создано два файла. Файл:

/home/user/.ssh/id_gitflic

Содержащий закрытую часть ключа и файл:

/home/user/.ssh/id_gitflic.pub

Содержащий публичную часть ключа.

Настройка клиента SSH

Создадим файл

mcedit ~/.ssh/config

С содержимым:

Host gitflic.ru
  HostName gitflic.ru
  User vasiliyaltunin
  IdentityFile ~/.ssh/id_gitflic

Обратите внимание! Указывайте в качестве имени пользователя ваше имя пользователя на сервере. Узнать его очень просто берем любой свой проект, например:

https://gitflic.ru/project/vasiliyaltunin/blog_altuninvv_ru

Имя пользователя указывается сразу после project!

Добавление публичного ключа на сервер

Откроем адрес:

https://gitflic.ru/settings/keys
Изображение удалено.

Получим содержимое файла:

cat /home/user/.ssh/id_gitflic.pub

Вставим его в поле на сайте:

Изображение удалено.

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

Нажмите Добавить. Ключ будет добавлен в конец списка ваших ключей:

Изображение удалено.

Проверка соединения

В консоли введем:

ssh git@gitflic.ru
The authenticity of host 'gitflic.ru (190.115.26.99)' can't be established.
RSA key fingerprint is SHA256:l8pY82jZrwsDKObzYIU3czpnDeNU2ryNX98cR4rQHNw.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

Введем:

yes
Warning: Permanently added 'gitflic.ru' (RSA) to the list of known hosts.
Enter passphrase for key '/home/user/.ssh/id_gitflic':

Введем пароль от нашего ключа. Если появилась надпись:

GitFlic не поддерживает данный вид ssh взаимодействия с сервером
Connection to gitflic.ru closed.

То всё настроено корректно!

Клонируем репозиторий по SSH

Для проверки клонируем небольшой репозиторий:

cd ~
git clone git@gitflic.ru:vasiliyaltunin/adgen.git
Cloning into 'adgen'...
Enter passphrase for key '/home/skyr/.ssh/id_gitflic':

Введем пароль от SSH-ключа:

remote: Counting objects: 29, done
remote: Finding sources: 100% (29/29)
remote: Getting sizes: 100% (19/19)
remote: Compressing objects: 100% (20556/20556)
remote: Total 29 (delta 9), reused 17 (delta 4)
Receiving objects: 100% (29/29), 53.40 KiB | 390.00 KiB/s, done.
Resolving deltas: 100% (9/9), done.

Всё работает!

Заключение

Сегодня мы рассмотрели создание ssh-ключей для подключения к удаленному git-репозиторию:

Создали открытый и закрытые ключи для пользователя;

Получили открытый ключ и загрузили его на сервер git-репозитория;

Проверили соединение по протоколу SSH к серверу git-репозитория;

Клонировали репозиторий по SSH.

Категория Linux
Теги Git ssh GitFlic

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 282