Red de Respuestas Legales - Derecho empresarial - ¿Cuál es mejor, Git http ssh?

¿Cuál es mejor, Git http ssh?

Cada uno tiene pros y contras. En general, HTTP es más simple y más utilizado.

La siguiente referencia: (Documento de protocolo de servidor oficial de Git)

Git puede utilizar cuatro protocolos principales para transmitir datos: protocolo local, protocolo HTTP, protocolo SSH (Secure Shell) y protocolo Git. .

Protocolo HTTP (Protocolo HTTP inteligente)

Git 1.6.6 introduce una versión nueva y más inteligente del protocolo HTTP que permite a Git negociar y transferir datos de forma tan inteligente como a través de SSH. La nueva versión del protocolo HTTP generalmente se denomina protocolo HTTP "inteligente", y la versión anterior generalmente se denomina protocolo HTTP "tonto".

El protocolo HTTP "inteligente" funciona de manera similar a los protocolos SSH y Git, excepto que se ejecuta en el puerto HTTP/S estándar y puede usar varios mecanismos de autenticación HTTP, lo que significa que es más rápido que el SSH. Protocolo mucho más simple, como la autorización básica de nombre de usuario/contraseña para el protocolo HTTP y la necesidad de configurar una clave pública SSH.

El protocolo HTTP inteligente es probablemente la forma más popular de utilizar Git. Admite la configuración de servicios anónimos como el protocolo git:// y proporciona autorización y cifrado durante el proceso de transmisión como el protocolo SSH. Y solo necesita una URL para completarse, lo que elimina la necesidad de configurar diferentes URL para diferentes necesidades. Si desea enviar a un servidor que requiere autorización (generalmente requerida), el servidor le pedirá que ingrese su nombre de usuario y contraseña. Lo mismo ocurre cuando se obtienen datos del servidor.

De hecho, para servicios como GitHub, la URL que ves en la página web (como Github) es la misma que usas al clonar el push (si tienes permiso).

Ventajas

Los diferentes métodos de acceso solo requieren una URL y el servidor solo solicita información de autorización cuando se requiere autorización, lo que hace que sea muy sencillo para los usuarios finales usar Git. Usar la autorización de nombre de usuario/contraseña es una gran ventaja en comparación con el protocolo SSH, ya que los usuarios no tienen que generar un par de claves SSH localmente antes de usar Git y luego cargar la clave pública en el servidor. Para usuarios inexpertos o aquellos que carecen de programas relacionados con SSH en sus sistemas, la disponibilidad del protocolo HTTP es una gran ventaja. Al igual que el protocolo SSH, el protocolo HTTP también es muy rápido y eficiente.

Otra ventaja es que el protocolo HTTP/S se utiliza ampliamente y los cortafuegos empresariales generales permitirán datos a través de estos puertos.

Desventajas

En algunos servidores, configurar el lado del servidor del protocolo HTTP/S puede ser más difícil que el protocolo SSH. Más allá de eso, existen pocas ventajas al utilizar otros protocolos para servir Git sobre el protocolo HTTP "inteligente".

Si utiliza push over HTTP autorizado, administrar las credenciales será más problemático que usar la autenticación de clave SSH. Sin embargo, puede optar por utilizar una herramienta de almacenamiento de credenciales como Keychain para OSX o Credential Manager para Windows. Para obtener información sobre cómo almacenar de forma segura contraseñas HTTP, consulte la Biblioteca de credenciales.

Protocolo SSH

Al configurar un servidor Git, el protocolo SSH se suele utilizar como protocolo de transporte. Porque el acceso a través de SSH ya es compatible con la mayoría de los entornos, e incluso si no lo es, es relativamente fácil de configurar. El protocolo SSH también es un protocolo de red para autenticar autorizaciones y, debido a su versatilidad, es fácil de configurar y utilizar;

Ventajas

Hay muchas ventajas al utilizar el protocolo SSH. Primero, la implementación de SSH es relativamente simple: el demonio SSH es muy común, la mayoría de los administradores tienen experiencia en su uso y la mayoría de los sistemas operativos lo incluyen junto con herramientas de administración relacionadas. En segundo lugar, el acceso a través de SSH es seguro: todos los datos transferidos deben estar autorizados y cifrados. Finalmente, al igual que el protocolo HTTP/S, el protocolo Git y los protocolos locales, el protocolo SSH es muy eficiente e intentará comprimir los datos antes de la transmisión.

Desventajas

La desventaja del protocolo SSH es que no se puede acceder a él de forma anónima. Incluso si solo necesitan leer datos, los usuarios aún necesitan acceder a su host a través de SSH, lo que hace que el protocolo SSH sea desfavorable para proyectos de código abierto. Si sólo lo está utilizando en una red corporativa, el protocolo SSH puede ser el único que necesite utilizar. Si desea proporcionar acceso anónimo de solo lectura y el protocolo SSH al mismo tiempo, debe configurar un servicio SSH para usted y un servicio al que otros puedan acceder.