Skip to main content

Использование SSH через порт HTTPS

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

Предупреждение

Пользователи Enterprise Server: доступ к Enterprise Server по SSH через порт HTTPS в настоящее время не поддерживается.

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

$ ssh -T -p 443 [email protected]
# Hi USERNAME! You've successfully authenticated, but  does not
# provide shell access.

Если она выполнена успешно, все в порядке. В противном случае вам может потребоваться выполнить руководство по устранению неполадок.

Примечание.

Имя узла для порта 443 не .comявляетсяssh..com.

Теперь, чтобы клонировать репозиторий, можно выполнить следующую команду:

git clone ssh://[email protected]:443/YOUR-USERNAME/YOUR-REPOSITORY.git

Включение SSH-подключений по протоколу HTTPS

Если вы можете выполнить SSH [email protected] через порт 443, можно переопределить параметры SSH, чтобы принудительно подключиться к .com для выполнения через этот сервер и порт.

Чтобы настроить это в файле конфигурации SSH, измените файл по пути ~/.ssh/config и добавьте следующий раздел:

Host .com
    Hostname ssh..com
    Port 443
    User git

Это можно проверить, подключив еще раз к .com:

$ ssh -T [email protected]
# Hi USERNAME! You've successfully authenticated, but  does not
# provide shell access.

Обновление известных узлов

При первом взаимодействии с после переключения на порт 443 может появиться предупреждение о том, что узел не known_hostsнайден или найден другим именем.

# The authenticity of host '[ssh..com]:443 ([140.82.112.36]:443)' can't be established.
# ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
# This host key is known by the following other names/addresses:
#     ~/.ssh/known_hosts:32: .com
# Are you sure you want to continue connecting (yes/no/[fingerprint])?

Это безопасно ответить на этот вопрос, предполагая, что отпечаток SSH соответствует одному из опубликованных отпечатков пальцев . Список отпечатков пальцев см. в разделе Отпечатки ключей SSH на .