====== Forgejo / git.moevm.info ======
===== Настройка SSH-подключения =====
==== Генерация ключей ====
- Генерация SSH-ключей происходит с помощью команды ''ssh-keygen -t ed25519 -f ~/.ssh/git.moevm.info_key''
- через аргумент -f задается путь к итоговому файлу (не используйте путь по умолчанию, т.к. это может переписать ваши умеющиеся ключи)
- После ввода команды дважды нажмите Enter
- На этом этапе программа ожидает от вас секретную фразу для ключа (дополнительный уровень безопасности) ''Enter passphrase (empty for no passphrase):'' - для "домашнего" использования этот шаг можно пропустить.
- При успешном завершении вы увидите текст содержащий ''The key fingerprint is ... / The key's randomart image is''
- Выполните команду ''cat ~/.ssh/git.moevm.info_key.pub'' (она напечатает содержимое вашего публичного ключа, который вы только что сгенерировали)
- **Сохраните выведенную строку** - она понадобится позднее
- Строка должна начинаться с ''ssh-ed25519''
==== Добавление открытого ключа ====
Чтобы система знала о вашем ключе и могла вас узнать при SSH-подключении, необходимо:
- Перейти на страницу https://git.moevm.info/user/settings/keys
- В разделе "Управление ключами SSH" нажать кнопку "Добавить ключ"
- В поле "Имя ключа" ввести понятное вам название ключа (например, "Домашний ПК")
- В поле "Содержимое" вставить строку, полученную командой ''cat ~/.ssh/git.moevm.info_key.pub''
- Нажать кнопку "Добавить Ключ", расположенную под заполненной формой
==== Проверка, что всё работает ====
Выполните команду ''ssh -T git@git.moevm.info -p 2222 -i ~/.ssh/git.moevm.info_key'', при успешной настройке вы получите следующее сообщение:
Hi there, ! You've successfully authenticated with the key named , but Forgejo does not provide shell access.
If this is unexpected, please log in with password and setup Forgejo under another user.
Если сообщение выглядит иначе, например, ''git@git.moevm.info: Permission denied (publickey).'' - проверьте корректность сгенерированного и введенного ключа на предыдущих шагах.
==== Настройка SSH-конфигурации ====
Чтобы не вводить каждый раз информацию для SSH-подключения и использовать правильный SSH-ключ (поскольку у вас их может быть несколько), необходимо сохранить информацию о подключении в SSH-конфигурации, для этого необходимо:
- Открыть в текстовом редакторе файл ''~/.ssh/config'' (например, с помощью команды ''nano ~/.ssh/config'')
- Добавить в конец файла следующие строки (они зададут путь к вашему приватному ключу, порт и SSH-пользователя для подключения к git.moevm.info):
Host git.moevm.info
IdentityFile ~/.ssh/git.moevm.info_key
Port 2222
User git
После настройки можно выполнить команду ''ssh -T git.moevm.info'', результат которой должен выглядеть так же, как и результат команды ''ssh -T git@git.moevm.info -p 2222 -i ~/.ssh/git.moevm.info_key''.
==== Клонирование репозитория ====
На главной странице каждого репозитория можно найти ссылку для SSH-клонирования
{{ :common:forgejo-repo-ssh.png?nolink |}}
Её необходимо использовать в команде ''git clone'' аналогично тому, как используются https-ссылки, например, ''%%git clone ssh://git@git.moevm.info:2222/moevm/cs-2026-5300.git%%''