====== 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%%''