Forgejo / git.moevm.info

Настройка SSH-подключения

SSH (Secure Shell) — это стандартный безопасный протокол для подключения к удалённым системам и работы с Git.

Его рекомендуется использовать вместо с HTTPS, поскольку он:

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

Удобнее, т.к. после однократной настройки не требует постоянного ввода учётных данных.

Профессиональнее, т.к. фактически является стандартом для работы разработчиков с Git.

Для работы по SSH вам необходимо сгенерировать пару ключей (приватный и публичный) и добавить публичный ключ в свой аккаунт на git.moevm.info.

Генерация ключей

Генерация SSH-ключей происходит с помощью команды ssh-keygen -t ed25519 -f ~/.ssh/git.moevm.info_key

ВАЖНО: используйте именно эту команду, чтобы в дальнейшем избежать проблем с подключением.

через аргумент -f задается путь к итоговому файлу, использование пути по умолчанию при генерации ключа перезапишет ваши существующие SSH-ключи, что может нарушить работу с другими системами.

После ввода команды дважды нажмите 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):

Обратите внимание: пользователь должен быть именно git, а не ваш логин

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

Настройка двухфакторной аутентификации

Перейти на страницу https://git.moevm.info/user/settings/security

Нажать кнопку «Включить TFA» и следовать инструкциям (подключить приложение-аутентификатор)