
Настраиваем доступ к удаленному 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.
Добавить комментарий