Вопросы и ответы по SSH-доступу в SourceCraft

Как проверить подключение по SSH?

О том, как добавить SSH-ключ и получить доступ к репозиторию, читайте в разделе Получить доступ к репозиторию с помощью SSH-ключа.

После добавления SSH-ключа выполните команду:

ssh -T ssh://ssh.sourcecraft.dev

Как проверить отпечаток SSH-ключа сервера?

Если аутентификация прошла успешно, вы увидите сообщение:

Hi <username>! You've successfully authenticated, but SourceCraft does not provide shell access.

Как проверить отпечаток SSH-ключа сервера?

При первом подключении по SSH перед подтверждением соединения сверьте отпечаток ключа сервера. Это помогает обнаружить подмену сервера. Если отпечатки не совпадают, отмените подключение и обратитесь в поддержку.

Что делать при ошибке Permission denied при подключении по SSH?

Если git clone, git pull или git push завершается ошибкой Permission denied, проверьте:

  • Адрес репозитория в команде или в выводе git remote -v: слаг организации и название репозитория должны быть указаны верно.
  • Роль пользователя: она должна разрешать нужную операцию в этом репозитории. Успешное приветственное сообщение подтверждает аутентификацию в SourceCraft, но не наличие доступа к конкретному репозиторию.
  • Наличие приватного SSH-ключа на компьютере, с которого выполняется команда. Убедитесь, что соответствующий публичный ключ добавлен в профиль нужного пользователя SourceCraft. Если у вас несколько ключей, проверьте, какой из них используется, командой ssh -vT ssh://ssh.sourcecraft.dev.
  • Доступность исходящих соединений с ssh.sourcecraft.dev на порту 22: их может блокировать файрвол. Если соединение блокируется, попробуйте SSH через порт HTTPS и настройте подключение через порт 443.

В качестве альтернативы используйте HTTPS с персональным токеном (PAT) или настройте аутентификацию Git через SourceCraft CLI.

Как использовать SSH через порт HTTPS?

Если брандмауэр блокирует SSH-соединения, а клонирование по HTTPS с персональным токеном недоступно, попробуйте клонировать репозиторий через SSH по порту HTTPS. Такое подключение обычно разрешено брандмауэрами, но может блокироваться прокси-серверами.

Чтобы проверить возможность SSH-соединения через порт HTTPS, выполните команду:

ssh -T -p 443 ssh.sourcecraft.dev

Как проверить отпечаток SSH-ключа сервера?

Если аутентификация прошла успешно, вы увидите сообщение:

Hi <username>! You've successfully authenticated, but SourceCraft does not provide shell access.

Примечание

Для порта 443 используйте имя хоста ssh.sourcecraft.dev, а не sourcecraft.dev.

Чтобы клонировать репозиторий через порт 443, выполните команду:

git clone ssh://ssh.sourcecraft.dev:443/<имя_пользователя>/<название_репозитория>.git

Как настроить SSH-соединение через HTTPS?

Если подключение к ssh.sourcecraft.dev через порт 443 работает, можно настроить SSH так, чтобы все соединения с sourcecraft.dev автоматически использовали этот хост и порт.

Для этого отредактируйте файл ~/.ssh/config и добавьте в него следующий блок:

Host sourcecraft.dev
    Hostname ssh.sourcecraft.dev
    Port 443
    User git

Чтобы проверить, что настройки применились, подключитесь к sourcecraft.dev еще раз:

ssh -T sourcecraft.dev

Если подключение прошло успешно, вы увидите сообщение:

Hi <username>! You've successfully authenticated, but SourceCraft does not provide shell access.

Как обновить список известных хостов?

При первом подключении к SourceCraft появится предупреждение о неизвестном хосте:

The authenticity of host 'ssh.sourcecraft.dev (<IP-адрес>)' can't be established.
RSA key fingerprint is SHA256:Zfz3c1H84JdmkN1PCsoz+imNCMN+TT8IBXnBpxalvpE.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Проверьте отпечаток SSH-ключа сервера:

  • Если значения полностью совпадают, введите yes и нажмите Enter. OpenSSH сохранит ключ сервера в файле ~/.ssh/known_hosts и будет проверять его при следующих подключениях.
  • Если значения не совпадают, введите no и нажмите Enter, чтобы отменить подключение. Проверьте, что подключаетесь к хосту ssh.sourcecraft.dev, и обратитесь в поддержку.
Предыдущая