Usando HTTPS o SSH con GitHub

Me gustaría saber cuál es la mejor forma de conectarse a un repository de GitHub entre HTTPS y SSH. Aparentemente GitHub parece recomendar HTTPS sobre SSH:

Si ha decidido no utilizar el método HTTPS recomendado, podemos usar las keys SSH para establecer una connection segura entre su computadora y GitHub. Los pasos a continuación lo guiarán a través de la generación de una key SSH y luego agregarán la key pública a su count GitHub.

Sin embargo, no veo ninguna razón por la cual HTTPS en realidad sería mejor que SSH. SSH debería ser más seguro que HTTPS normalmente. Entonces, ¿por qué GitHub recomendaría HTTPS?

https es más fácil de usar que ssh.

Con ssh, necesitas:

  • generar una key pública / privada
  • publicarlo en GitHub
  • lanzar (si realmente quieres security) un ssh-agent para ingresar la contraseña que habrías asociado a tu key privada.

https solo reutiliza la cnetworkingencial de GitHub que ya tienes.
Si no desea ingresar su contraseña de GitHub para cada command de git, puede almacenar esas cnetworkingenciales en un ~/.netrc.gpg encriptado (o %HOME%/_netrc.gpg en Windows).
Vea un ejemplo completo paso a paso en " ¿Hay alguna manera de saltear la escritura de contraseña al usar https: // github ".

Así guardo varias cnetworkingenciales (en GitHub, BitBucket, repos internos, …) en un file (encriptado) y escribo una contraseña (la frase de contraseña gpg) una vez por la mañana.
Entonces puedo acceder a todos esos repos sin tener que ingresar mi cnetworkingencial durante el día.

Recibí una respuesta de GitHub:

Recomendamos https, ya que es mucho más simple de configurar y no requiere conocimiento o gestión segura de las keys ssh.

Como ssh y https usan ssl detrás de escena, el beneficio de requerir acceso a una key privada en lugar de las cnetworkingenciales de inicio de session solo se mantiene si esas keys se administran de forma segura. Para quienes no estén familiarizados con las mejores prácticas en torno a las keys ssh, a menudo es más difícil de explicar que dejar que mantengan las cnetworkingenciales de inicio de session de nombre de usuario / contraseña usando los procedimientos que ya conocen. Las recomendaciones están ahí para que aquellos que no tienen una opinión fuerte de ninguna manera puedan elegir el método más directo. Cualquiera que prefiera las keys ssh puede hacerlo ya que son totalmente compatibles.