๐
ย ๐๐น ๐ ๐ผ๐บ๐ฒ๐ป๐๐ผ ๐ฑ๐ฒ๐น ๐ฃรก๐ป๐ถ๐ฐ๐ผ: ๐ฎ ๐๐ , ๐ฉ๐ถ๐ฒ๐ฟ๐ป๐ฒ๐ ๐ฝ๐ผ๐ฟ ๐น๐ฎ ๐ก๐ผ๐ฐ๐ต๐ฒ
๐จ๐ช๐ต ๐ฑ๐ถ๐ด๐ฉ ๐ฐ๐ณ๐ช๐จ๐ช๐ฏ ๐ฎ๐ข๐ช๐ฏ
๐๐ฅ๐ฅ๐ข๐ฅ: ๐ฃ๐ฒ๐ฟ๐บ๐ถ๐๐๐ถ๐ผ๐ป ๐ฑ๐ฒ๐ป๐ถ๐ฒ๐ฑ (๐ฝ๐๐ฏ๐น๐ถ๐ฐ๐ธ๐ฒ๐).ย โ
Mi corazรณn se detuvo por 3 segundos.
Eran las 2 de la madrugada. Mi jefe necesitaba el hotfix para la demo con el cliente en Asia en 6 horas. Y yo, desde mi laptop personal, estaba viendo cรณmo el universo conspiraba contra mi fin de semana.
El problema:ย ๐๐ถ๐๐๐๐ฏ ๐ป๐ผ ๐๐ฎ๐ฏรญ๐ฎ ๐๐ถ ๐ฒ๐ฟ๐ฎ "๐๐ฒ๐ ๐ฃ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น" ๐ผ "๐๐ฒ๐ ๐๐ผ๐ฟ๐ฝ๐ผ๐ฟ๐ฎ๐๐ถ๐๐ผ".ย Y estaba usando la identidad equivocada.
๐๐ถ๐ฆ๐ฏ๐ข ๐ง๐ข๐ฎ๐ช๐ญ๐ช๐ข๐ณ?ย ๐ฅฒ
Si alguna vez has:
โ Trabajado en una startup y tenido tu proyecto personal ๐
โ Sido contratista para mรบltiples clientes ๐ผ
โ Entrado a una empresa que te exige cuenta corporativa de GitHub ๐ข
โ Tenido que hacer un commit urgente desde tu laptop personal ๐ฅ
...este post es para ti.
๐ย ๐๐ฎ ๐๐ถ๐๐๐ผ๐ฟ๐ถ๐ฎ ๐ฅ๐ฒ๐ฎ๐น: ๐รณ๐บ๐ผ ๐๐ป๐ฎ ๐๐บ๐ฝ๐ฟ๐ฒ๐๐ฎ ๐๐ฎ๐๐ถ ๐ฃ๐ถ๐ฒ๐ฟ๐ฑ๐ฒ ๐๐ป ๐๐น๐ถ๐ฒ๐ป๐๐ฒ ๐ฝ๐ผ๐ฟ ๐ฆ๐ฆ๐-๐๐ฒ๐๐ ๐ ๐ฎ๐น ๐๐ผ๐ป๐ณ๐ถ๐ด๐๐ฟ๐ฎ๐ฑ๐ฎ๐
Trabajo enย ๐ง๐ฒ๐ฐ๐ต๐๐ผ๐ฟ๐ฝ, una consultora que maneja proyectos para 15+ clientes diferentes. Cada cliente requiere:
โ Cuenta separada de GitHub ๐
โ SSH-keys diferentes ๐๏ธ
โ Repos privados aislados ๐ฆ
๐๐น ๐ฐ๐ฎ๐ผ๐ ๐ฑ๐ถ๐ฎ๐ฟ๐ถ๐ผ:
โ Devs haciendo commits con identidad equivocada ๐ฑ
โ CI/CD pipelines fallando por permisos ๐ฅ
โ 3 horas semanales de soporte tรฉcnico resolviendo estos problemas โฐ
๐๐น ๐ฐ๐ผ๐๐๐ผ:ย $15,000 USD/aรฑo en productividad perdida. ๐ธ
๐ฏ La Soluciรณn que Cambiรณ Todo: Multi-SSH Keys como un Pro
Paso 1: El Diagnรณstico (Entendiendo el Problema)
ยฟ๐ค๐รฉ ๐ธ๐ฒ๐๐ ๐๐ถ๐ฒ๐ป๐ฒ๐ ๐ฎ๐ฐ๐๐๐ฎ๐น๐บ๐ฒ๐ป๐๐ฒ?
ls -la ~/.ssh/
ยฟ๐ค๐รฉ ๐๐๐๐ฎ๐ฟ๐ถ๐ผ ๐ฒ๐๐รก ๐๐๐ฎ๐ป๐ฑ๐ผ ๐๐ถ๐ ๐ฎ๐ต๐ผ๐ฟ๐ฎ?
git config user.email
Paso 2: La Cirugรญa - Crear Keys Separadas
# ๐๐ฒ๐ ๐ฝ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น (๐น๐ฎ ๐พ๐๐ฒ ๐๐ฎ ๐๐ถ๐ฒ๐ป๐ฒ๐)
~/.ssh/id_rsa
# ๐๐ฒ๐ ๐ฝ๐ฎ๐ฟ๐ฎ ๐ฒ๐น ๐๐ฟ๐ฎ๐ฏ๐ฎ๐ท๐ผ ๐ฒ๐ป ๐๐ถ๐ป๐ง๐ฒ๐ฐ๐ต๐๐ผ๐ฟ๐ฝ
ssh-keygen -t rsa -b 4096 -C "tu@fintechcorp.com" -f ~/.ssh/fintech_rsa
# ๐๐ฒ๐ ๐ฝ๐ฎ๐ฟ๐ฎ ๐ฒ๐น ๐ฐ๐น๐ถ๐ฒ๐ป๐๐ฒ ๐-๐ฐ๐ผ๐บ๐บ๐ฒ๐ฟ๐ฐ๐ฒ
ssh-keygen -t rsa -b 4096 -C "tu@ecomcliente.com" -f ~/.ssh/ecom_rsa
๐จ Imagina que cada key es una llave fรญsica diferente para oficinas distintas.
Paso 3: El Archivo Mรกgico (~/.ssh/config)
# ๐ค ๐ฌ๐ข (๐ฃ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น) - ๐ ๐ถ ๐ถ๐ฑ๐ฒ๐ป๐๐ถ๐ฑ๐ฎ๐ฑ ๐๐ฒ๐ฐ๐ฟ๐ฒ๐๐ฎ
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
# ๐ผ ๐๐ถ๐ป๐ง๐ฒ๐ฐ๐ต๐๐ผ๐ฟ๐ฝ - ๐ ๐ถ ๐๐ผ ๐ฐ๐ผ๐ฟ๐ฝ๐ผ๐ฟ๐ฎ๐๐ถ๐๐ผ
Host github.com-fintech
HostName github.com
User git
IdentityFile ~/.ssh/fintech_rsa
AddKeysToAgent yes
# ๐ ๐๐ฐ๐ผ๐บ๐๐น๐ถ๐ฒ๐ป๐๐ฒ - ๐๐น ๐ฝ๐ฟ๐ผ๐๐ฒ๐ฐ๐๐ผ ๐พ๐๐ฒ ๐ฝ๐ฎ๐ด๐ฎ ๐น๐ฎ๐ ๐๐ฎ๐ฐ๐ฎ๐ฐ๐ถ๐ผ๐ป๐ฒ๐
Host github.com-ecom
HostName github.com
User git
IdentityFile ~/.ssh/ecom_rsa
AddKeysToAgent yes
๐ก Tip Pro: Piensa en esto como rutas de enrutamiento en una red compleja - cada host alias dirige el trรกfico al destino correcto con las credenciales apropiadas.
๐ Paso 4: El Registro en GitHub (El Paso que Nadie Debe Saltarse)
4.1 Copia tu llave pรบblica al portapapeles
# Para macOS (pbcopy)
cat ~/.ssh/ecom_rsa.pub | pbcopy
# Para Linux (xclip)
cat ~/.ssh/ecom_rsa.pub | xclip -selection clipboard
# Para Windows (PowerShell)
Get-Content ~/.ssh/ecom_rsa.pub | Set-Clipboard
4.๐ฎ ๐๐ด๐ฟรฉ๐ด๐ฎ๐น๐ฎ ๐ฎ ๐๐ ๐ฐ๐๐ฒ๐ป๐๐ฎ ๐ฑ๐ฒ ๐๐ถ๐๐๐๐ฏ
- Ve aย ๐๐ถ๐๐๐๐ฏ.๐ฐ๐ผ๐บ (๐ต๐๐๐ฝ๐://๐ด๐ถ๐๐ต๐๐ฏ.๐ฐ๐ผ๐บ/)ย โย ๐ฆ๐ฒ๐๐๐ถ๐ป๐ด๐ย (tu foto de perfil) โ๏ธ
- En el menรบ lateral, haz clic enย "๐ฆ๐ฆ๐ ๐ฎ๐ป๐ฑ ๐๐ฃ๐ ๐ธ๐ฒ๐๐"ย ๐
- Haz clic en el botรณn verdeย "๐ก๐ฒ๐ ๐ฆ๐ฆ๐ ๐ธ๐ฒ๐"ย oย "๐๐ฑ๐ฑ ๐ฆ๐ฆ๐ ๐ธ๐ฒ๐"ย โ
- En el formulario:
- ๐ง๐ถ๐๐น๐ฒ: Un nombre descriptivo (ej: "MacBook Pro Work", "Personal Laptop", "Franco - Work")
- ๐๐ฒ๐ ๐๐๐ฝ๐ฒ: "Authentication Key" (mantรฉn el default)
- ๐๐ฒ๐: Pega el contenido de tu portapapeles (la llave pรบblica)
- Haz clic enย "๐๐ฑ๐ฑ ๐ฆ๐ฆ๐ ๐ธ๐ฒ๐"ย โ
Paso 5: El Truco del Clonado Inteligente
โ ๐๐ป๐๐ฒ๐ (๐ณ๐ฎ๐น๐น๐ฎ๐ฏ๐ฎ ๐๐ถ๐ฒ๐บ๐ฝ๐ฟ๐ฒ)
git clone git@github.com:fintechcorp/proyecto-secreto.git
โ
๐๐ฒ๐๐ฝ๐รฉ๐ (๐ณ๐๐ป๐ฐ๐ถ๐ผ๐ป๐ฎ ๐ฝ๐ฒ๐ฟ๐ณ๐ฒ๐ฐ๐๐ผ)
git clone git@github.com-fintech:fintechcorp/proyecto-secreto.git
๐ย ๐ฅ๐ฒ๐๐๐น๐๐ฎ๐ฑ๐ผ๐ ๐ฅ๐ฒ๐ฎ๐น๐ฒ๐ ๐ฒ๐ป ๐บ๐ถ ๐๐บ๐ฝ๐ฟ๐ฒ๐๐ฎ (๐ รฉ๐๐ฟ๐ถ๐ฐ๐ฎ ๐พ๐๐ฒ ๐๐บ๐ฝ๐ผ๐ฟ๐๐ฎ)
๐๐ป๐๐ฒ๐ ๐ฑ๐ฒ ๐น๐ฎ ๐ถ๐บ๐ฝ๐น๐ฒ๐บ๐ฒ๐ป๐๐ฎ๐ฐ๐ถรณ๐ป (๐๐ป๐ฒ ๐ฎ๐ฌ๐ฎ๐ฑ):
๐ด 12 incidentes/mes por credenciales incorrectas
๐ด 8 horas/mes de soporte DevOps
๐ด 3 devs frustrados renunciaron (ok, esto no fue solo por SSH, pero ayudรณ)
๐๐ฒ๐๐ฝ๐รฉ๐ (๐๐๐ป ๐ฎ๐ฌ๐ฎ๐ฑ):
๐ข 0 incidentes por credenciales
๐ข 0 horas de soporte (autogestionado)
๐ข Devs pueden cambiar de contexto en <1 minuto
๐๐บ๐ฝ๐ฎ๐ฐ๐๐ผ ๐ณ๐ถ๐ป๐ฎ๐ป๐ฐ๐ถ๐ฒ๐ฟ๐ผ:
"๐๐ฉ๐ฐ๐ณ๐ณ๐ข๐ฎ๐ฐ๐ด $12,000 ๐ข๐ญ ๐ขรฑ๐ฐ ๐ด๐ฐ๐ญ๐ฐ ๐ฆ๐ฏ ๐ต๐ช๐ฆ๐ฎ๐ฑ๐ฐ ๐ฅ๐ฆ ๐ต๐ณ๐ฐ๐ถ๐ฃ๐ญ๐ฆ๐ด๐ฉ๐ฐ๐ฐ๐ต๐ช๐ฏ๐จ"ย - ๐๐๐ ๐ฅ๐ฆ ๐๐ฆ๐ค๐ฉ๐๐ฐ๐ณ๐ฑ
๐ฎ Bonus: El Debugging Mode (Cuando Algo Sale Mal)
Comandos de Diagnรณstico Rรกpido:
# ยฟ๐ค๐รฉ ๐ธ๐ฒ๐ ๐ฒ๐๐รก ๐๐๐ฎ๐ป๐ฑ๐ผ ๐ฆ๐ฆ๐?
ssh -T git@github.com-fintech
๐๐ฒ๐ฏ๐ฒ๐ฟรญ๐ฎ๐ ๐๐ฒ๐ฟ: "๐๐ถ @๐๐๐๐ฎ๐ฟ๐ถ๐ผ-๐ณ๐ถ๐ป๐๐ฒ๐ฐ๐ต! ๐ฌ๐ผ๐'๐๐ฒ ๐๐๐ฐ๐ฐ๐ฒ๐๐๐ณ๐๐น๐น๐ ๐ฎ๐๐๐ต๐ฒ๐ป๐๐ถ๐ฐ๐ฎ๐๐ฒ๐ฑ..."
# ยฟ๐ค๐รฉ ๐๐๐๐ฎ๐ฟ๐ถ๐ผ ๐๐ถ๐ฒ๐ป๐ฒ ๐๐ถ๐ ๐ฐ๐ผ๐ป๐ณ๐ถ๐ด๐๐ฟ๐ฎ๐ฑ๐ผ?
cat .git/config | grep email
# ๐ฉ๐ฒ๐ฟ ๐๐ผ๐ฑ๐ฎ๐ ๐น๐ฎ๐ ๐ธ๐ฒ๐๐ ๐ฐ๐ฎ๐ฟ๐ด๐ฎ๐ฑ๐ฎ๐
ssh-add -l
# ๐ง๐ฒ๐๐ ๐ฑ๐ฒ ๐ฐ๐ผ๐ป๐ฒ๐
๐ถรณ๐ป ๐๐ฒ๐ฟ๐ฏ๐ผ๐๐ฒ (๐ฐ๐๐ฎ๐ป๐ฑ๐ผ ๐๐ผ๐ฑ๐ผ ๐ณ๐ฎ๐น๐น๐ฎ)
ssh -vT git@github.com-fintech
# ๐ฅ LIMPIAR TODO Y EMPEZAR DE CERO (cuando hay caos)
ssh-add -D
# Esto elimina TODAS las llaves del agente SSH
# รtil cuando tienes conflictos de keys o credenciales mezcladas
Errores Comunes y Soluciones:
| Error | Causa | Soluciรณn Mรกgica |
|---|---|---|
Permission denied |
Key incorrecta | Verifica ~/.ssh/config
|
Could not open connection |
Alias mal escrito |
github.com-empresa vs github.com_empresa
|
User email incorrecto |
Git local mal config | git config user.email |
๐งญ ยฟY si trabajamos juntos?
Este proyecto es una base.En CrossCloudX, diseรฑamos pipelines a la medida para empresas financieras, consultoras o startups con visiรณn.
ยฟTe interesa un piloto en tu empresa?
๐ค Let's Connect!
If you find this repository useful and want to see more content like this, follow me on LinkedIn to stay updated on more projects and resources!
If youโd like to support my work, you can buy me a coffee. Thank you for your support!
Thank you for reading! ๐




Top comments (0)