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, <username>! You've successfully authenticated with the key named <key name>, 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-клонирования Её необходимо использовать в команде git clone аналогично тому, как используются https-ссылки, например, git clone ssh://git@git.moevm.info:2222/moevm/cs-2026-5300.git