Я предполагаю, что HTTPS рекомендуется GitHub по нескольким причинам
1) Проще использовать из любого места, так как вам нужны только данные вашей учетной записи (не требуются ключи SSH)
2) HTTPS - это порт, который открыт во всех брандмауэрах. SSH не всегда открыт как порт для связи с внешними сетями
Поэтому GitHub-репозиторий более универсален, используя HTTPS, чем SSH.
На мой взгляд, SSH-ключи стоят немного дополнительной работы по их созданию.
1) Ключи SSH не предоставляют доступ к вашей учетной записи GitHub, поэтому ваша учетная запись не может быть взломана, если ваш ключ украден,
2) Использование сильной ключевой фразы с вашим ключом SSH ограничивает любое злоупотребление, даже если ваш ключ украден
Если ваши учетные данные GitHub (имя пользователя / пароль) были украдены, ваш пароль GitHub может быть изменен, чтобы заблокировать вам доступ, и все ваши общие репозитории могут быть быстро удалены.
В случае кражи закрытого ключа кто-то может принудительно нажать пустое хранилище и стереть всю историю изменений для каждого принадлежащего вам хранилища, но не может ничего изменить в вашей учетной записи GitHub. Попробовать восстановление после такого нарушения будет намного проще, если у вас есть доступ к вашей учетной записи GitHub.
Я предпочитаю использовать SSH с ключом, защищенным парольной фразой. У меня есть разные ключи SSH для каждого компьютера, поэтому, если эта машина будет украдена или взломана, я могу быстро войти в GitHub и удалить этот ключ для предотвращения нежелательного доступа.
SSH может быть туннелирован через HTTPS, если сеть, в которой вы находитесь, блокирует порт SSH.
https://help.github.com/articles/using-ssh-over-the-https-port/
Если вы используете HTTPS, я бы рекомендовал добавить двухфакторную аутентификацию, чтобы защитить вашу учетную запись, а также ваши репозитории.
Если вы используете HTTPS с инструментом (например, редактором), вы должны использовать токен разработчика из своей учетной записи GitHub, а не кэшировать имя пользователя и пароль в конфигурации этих инструментов.