Git Push y Pull: Cómo SSH lo hace seguro

Guía sobre SSH en Git para push y pull: claves, autenticación y packfiles. Consejos de seguridad y servicios de ciberseguridad y cloud en Q2BSTUDIO.

7 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Git push y git pull son comandos cotidianos para cualquier desarrollador, pero su magia ocurre gracias a SSH, que cifra y autentica cada conexión con el servidor remoto para mantener el código seguro. En este artículo rehacemos y explicamos de forma clara cómo funciona todo el proceso, desde la creación de claves hasta la transferencia de datos, con ejemplos prácticos para que entiendas cada paso y puedas diagnosticar problemas rápidamente.

En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, combinamos prácticas seguras de DevOps con ciberseguridad avanzada para proteger repositorios y pipelines. Si necesitas fortalecer la protección de tus repos, auditorías o pentesting, consulta nuestros servicios en ciberseguridad y pentesting. Además, si gestionas repos y entornos en la nube, optimizamos infraestructuras con servicios cloud AWS y Azure para que escalen con eficiencia y seguridad.

Fundamentos de SSH en Git remoto. SSH cifra el tráfico y autentica usuarios sin enviar contraseñas. Para usar SSH con Git, se crea un par de claves: la clave privada se queda en tu máquina y la clave pública se sube al proveedor Git. Para generarlas usa este comando: ssh-keygen -t ed25519 -C your_email@example.com. Por defecto se guardan en la carpeta ~/.ssh con nombres id_ed25519 y id_ed25519.pub.

Para copiar la clave pública en macOS: cat ~/.ssh/id_ed25519.pub | pbcopy. Luego pégala en la sección de claves SSH de tu proveedor Git. Con esto tendrás acceso sin contraseña y con seguridad reforzada.

Cómo se interpreta la URL remota. Una URL como git@github.com:user/repo.git indica que se usará SSH. Partes clave. git@ es el usuario SSH. github.com es el host. user/repo.git es la ruta del repositorio. Para añadir o comprobar el remoto: git remote add origin git@github.com:user/repo.git y git remote -v.

Inicio de la conexión. Al ejecutar git push o git pull, Git abre un túnel SSH sobre TCP puerto 22 por defecto. Durante el apretón de manos se negocian algoritmos de cifrado y se genera una clave de sesión temporal con intercambio de claves seguro, impidiendo escuchas y garantizando confidencialidad.

Autenticación del servidor. En la primera conexión el servidor envía su clave pública de host y tu cliente guarda la huella en ~/.ssh/known_hosts. Si en futuras conexiones la huella no coincide, verás una alerta indicando posible ataque de intermediario. Verifica siempre las huellas oficiales de tu proveedor antes de aceptar.

Autenticación del cliente. Tras validar el servidor, toca probar tu identidad. El servidor te lanza un desafío que tu cliente firma con tu clave privada y luego el servidor verifica con tu clave pública. Si coincide, acceso concedido sin contraseñas. Puedes probarlo con ssh -T git@github.com para confirmar la autenticación sin solicitar shell.

Qué hace Git dentro del túnel SSH. Con la sesión segura activa, Git ejecuta comandos en el servidor remoto. En push, invoca git-receive-pack para recibir objetos y actualizar referencias. En pull o fetch, utiliza git-upload-pack para servir objetos al cliente. Si deseas ver el detalle del intercambio, activa trazas con GIT_TRACE=1 git push origin main y observa la ejecución remota.

Transferencia eficiente con packfiles. Git no envía repos completos, negocia diferencias y empaqueta todo en un packfile comprimido. Flujo típico. 1 Intercambia listas have y want para saber qué falta. 2 Construye un pack con deltas y compresión. 3 Envía el pack por el túnel SSH. En la recepción, el servidor desempaca y actualiza las referencias. Ejemplo rápido. Clona, edita y sube cambios: git clone git@github.com:user/repo.git, cd repo, echo Nueva linea >> file.txt, git add ., git commit -m Update, git push.

Objetos clave que viajan. Commit representa un snapshot con metadatos y referencias a su árbol. Tree describe la estructura de directorios y archivos. Blob contiene el contenido de los archivos. Packfile es el contenedor comprimido que viaja por SSH. Gracias a las deltas y la compresión, incluso repos grandes se transfieren con eficiencia.

Por qué aparece un prompt de contraseña y cómo resolverlo. 1 La clave privada no está cargada en el agente. Ejecuta ssh-add ~/.ssh/id_ed25519. 2 Permisos incorrectos. Ajusta chmod 600 ~/.ssh/id_ed25519. 3 La clave pública no está en el servidor. Sube de nuevo tu id_ed25519.pub. 4 Configuración de SSH incompleta. Crea o edita ~/.ssh/config con entradas como. Host github.com. HostName github.com. User git. IdentityFile ~/.ssh/id_ed25519. Para depurar en detalle, usa ssh -v git@github.com y revisa el proceso de autenticación paso a paso.

Buenas prácticas y consejos. Usa claves ed25519 por rendimiento y seguridad. Emplea un passphrase en tu clave privada y un agente de claves para no reintroducirla constantemente. Configura múltiples identidades en ~/.ssh/config si trabajas con varias cuentas. Aprovecha GIT_SSH_COMMAND para forzar opciones específicas en sesiones puntuales. Y recuerda que el primer control de seguridad está en tu máquina: protege el directorio ~/.ssh.

Conclusión. Entender cómo Git utiliza SSH te permite trabajar con más confianza, resolver problemas en minutos y optimizar tus flujos. Si además quieres llevar tus repos y pipelines a un entorno robusto y escalable, combinamos automatización, observabilidad y controles de acceso en infraestructuras cloud. En Q2BSTUDIO, además de software a medida y aplicaciones a medida, somos especialistas en inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, así como servicios inteligencia de negocio y power bi para convertir datos en decisiones. Escríbenos y diseñamos juntos una estrategia segura, eficiente y lista para crecer.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat