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

Инструменты сайта


common:forgejo

Forgejo / git.moevm.info

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

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

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

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

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

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

  1. Генерация SSH-ключей происходит с помощью команды ssh-keygen -t ed25519 -f ~/.ssh/git.moevm.info_key
    • ВАЖНО: используйте именно эту команду, чтобы в дальнейшем избежать проблем с подключением.
      • через аргумент -f задается путь к итоговому файлу, использование пути по умолчанию при генерации ключа перезапишет ваши существующие SSH-ключи, что может нарушить работу с другими системами.
  2. После ввода команды дважды нажмите Enter
    1. На этом этапе программа ожидает от вас секретную фразу для ключа (дополнительный уровень безопасности) Enter passphrase (empty for no passphrase): - для «домашнего» использования этот шаг можно пропустить.
  3. При успешном завершении вы увидите текст содержащий The key fingerprint is … / The key's randomart image is
  4. Выполните команду cat ~/.ssh/git.moevm.info_key.pub (она напечатает содержимое вашего публичного ключа, который вы только что сгенерировали)
    1. Сохраните выведенную строку - она понадобится позднее
    2. Строка должна начинаться с ssh-ed25519

Добавление открытого ключа

Чтобы система знала о вашем ключе и могла вас узнать при SSH-подключении, необходимо

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

  1. В разделе «Управление ключами SSH» нажать кнопку «Добавить ключ»
  2. В поле «Имя ключа» ввести понятное вам название ключа (например, «Домашний ПК»)
  3. В поле «Содержимое» вставить строку, полученную командой cat ~/.ssh/git.moevm.info_key.pub
  4. Нажать кнопку «Добавить Ключ», расположенную под заполненной формой

Проверка, что всё работает

Выполните команду 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-конфигурации, для этого необходимо:

  1. Открыть в текстовом редакторе файл ~/.ssh/config (например, с помощью команды nano ~/.ssh/config)
  2. Добавить в конец файла следующие строки (они зададут путь к вашему приватному ключу, порт и SSH-пользователя для подключения к git.moevm.info):
    1. Обратите внимание: пользователь должен быть именно 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

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

  1. Перейти на страницу https://git.moevm.info/user/settings/security
  2. Нажать кнопку «Включить TFA» и следовать инструкциям (подключить приложение-аутентификатор)
common/forgejo.txt · Последнее изменение: dmitry.ivanov