SSH-удалённый вход через OAuth
SSH-удалённый вход через OAuth — простое для понимания руководство на основе официальной документации
Представьте, что это как использовать ваш ключ от дома, чтобы открыть гараж друга — только вместо ключа у вас SSH-подключение, а вместо гаража — приватный репозиторий с кодом, которому нужно ваше разрешение на вход.
Что здесь происходит?
Когда вы запускаете hermes profile install, Hermes Agent должен загрузить профиль (набор инструкций и инструментов) из удалённого Git-репозитория. Но многие Git-серверы (например, GitHub, GitLab или ваш внутренний корпоративный сервер) требуют подтверждения вашей личности перед тем, как разрешить скачивание.
Обычно вам пришлось бы вводить имя пользователя и пароль или настраивать персональный токен доступа. Это хлопотно. SSH Remote OAuth Sign-In позволяет Hermes использовать ваш существующий SSH-ключ (который вы уже используете для безопасного подключения к серверам), чтобы автоматически авторизовать вас для этой разовой загрузки. Никаких лишних паролей и копирования токенов.
Две команды, которые вам действительно понадобятся
Вот и вся магия. Вы можете установить профиль, используя либо URL в стиле SSH, либо стандартный HTTPS-URL.
Вариант 1: SSH URL (например, GitHub)
hermes profile install git@github.com:you/research-bot.git
git@github.com:сообщает Hermes: «Используй мой SSH-ключ для связи с GitHub».you/research-bot.git— это путь к вашему репозиторию с профилем.
Вариант 2: HTTPS URL (для корпоративных серверов или GitLab)
hermes profile install https://git.example.com/team/research-bot.git
- Hermes определит, что это HTTPS-ссылка, но поскольку SSH у вас уже настроен, он автоматически попробует использовать ваши SSH-учётные данные для OAuth-рукопожатия. Никаких запросов, никакого дополнительного экрана входа.
Как это работает (без технических сложностей)
- Вы запускаете команду – Hermes видит URL и понимает, что нужно скачать профиль.
- Hermes проверяет ваши SSH-ключи – Он ищет ваш ключ по умолчанию (обычно
~/.ssh/id_rsaилиid_ed25519). - Отправляется «запрос на вход» – Вместо того чтобы спрашивать пароль, он использует ваш SSH-ключ как подтверждение личности для Git-сервера.
- Сервер говорит: «Ок, это ты» – Сервер предоставляет временный доступ только для этой загрузки.
- Профиль устанавливается – Файлы загружаются, и сессия завершается. Никаких сохранённых паролей, никаких висящих токенов.
Почему это отлично подходит для новичков
- Никакой головной боли с «срок действия токена истёк» – Настраиваете SSH один раз, и он работает вечно.
- На один пароль меньше нужно помнить – Вам никогда не придётся вводить пароль от Git в Hermes.
- Безопаснее – Ваш пароль никогда не касается Hermes; используется только ваш зашифрованный ключ.
- Работает с приватными репозиториями – Если ваш профиль находится в приватном репозитории, этот метод входа аккуратно откроет к нему доступ.
Короткий чек-лист перед началом
- У вас есть SSH-ключ на компьютере (проверьте командой
ls ~/.ssh). - Вы добавили этот ключ на ваш Git-сервер (GitHub → Settings → SSH Keys).
- Вы знаете точный URL вашего репозитория с профилем.
Если у вас ещё нет SSH-ключа, просто выполните:
ssh-keygen -t ed25519 -C "your_email@example.com"
Затем следуйте подсказкам. После этого вы готовы.
Заключение
SSH Remote OAuth Sign-In — это как VIP-пропуск для загрузки вашего кода. Он убирает трение, связанное с необходимостью входить в систему каждый раз, когда вы хотите установить профиль. После того как вы настроили свой SSH-ключ, команда hermes profile install просто работает — используете ли вы ссылку в стиле GitHub или корпоративную HTTPS-ссылку.
Практический совет: Всегда используйте SSH URL (git@...), когда это возможно. Это быстрее, безопаснее и с меньшей вероятностью вызовет дополнительные экраны входа. Но если у вас есть только HTTPS-ссылка, не переживайте — Hermes всё равно выполнит весь OAuth-танец за вас в фоновом режиме. Просто расслабьтесь и позвольте ключу говорить за вас.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › guides/oauth-over-ssh