Conectar WordPress en Lightsail
con GitHub via SSH
Guía paso a paso para versionar el código fuente de una instalación Bitnami WordPress en Amazon Lightsail usando autenticación por clave SSH.
Desde tu terminal local o usando el botón "Connect using SSH" en la consola de Lightsail.
ssh -i /ruta/llave.pem bitnami@IP_PUBLICA
Las instancias Bitnami en Lightsail no incluyen Git por defecto. Instálalo con:
sudo apt update sudo apt install git -y
Verifica que quedó instalado:
git --version # git version 2.34.1
En instalaciones Bitnami, WordPress siempre se encuentra en:
cd /opt/bitnami/wordpress ls # Deberías ver wp-config.php, wp-content/, etc.
Inicializa el repositorio local, configura tu identidad y registra todos los archivos actuales.
git init git config --global user.name "Tu Nombre" git config --global user.email "tu@email.com" git add . git commit -m "Primer commit"
Puedes crear un .gitignore antes del git add . para excluir uploads, cache y logs de WordPress.
Genera el par de claves en el servidor y registra la clave pública en tu cuenta de GitHub.
ssh-keygen -t ed25519 -C "tu@email.com" # Presiona ENTER en todas las preguntas
cat ~/.ssh/id_ed25519.pub # Copia TODO el texto que aparece
Ve a GitHub → Settings → SSH and GPG keys → New SSH key, ponle un nombre (ej. lightsail) y pega la clave.
Agrega la URL remota usando el formato SSH. Si ya existe un origin, elimínalo primero.
# Si ya existe un origin anterior: git remote remove origin # Agregar con URL SSH (nunca HTTPS): git remote add origin git@github.com:USUARIO/REPO.git
Importante: usa siempre el formato git@github.com:usuario/repo.git. La URL https:// requiere usuario y contraseña, que GitHub ya no acepta.
Si el repositorio en GitHub fue creado con un README o .gitignore, hay que traer esos cambios primero para evitar el error [rejected].
git pull --rebase origin main
Si aparece un conflicto en .gitignore, el archivo lucirá así:
<<<<<<< HEAD wp-content/uploads/ wp-content/cache/ *.log ======= node_modules/ .env >>>>>>> origin/main
Edita el archivo, deja el contenido correcto y continúa el rebase:
nano .gitignore # edita y guarda (Ctrl+O, Ctrl+X) git add .gitignore git rebase --continue
Si quieres cancelar el rebase y volver al estado anterior: git rebase --abort
Con la autenticación SSH configurada, el push no pedirá usuario ni contraseña.
git push -u origin main
Si ves Branch 'main' set up to track remote branch 'main' from 'origin', todo quedó correctamente configurado.
| # | Descripción | Comando |
|---|---|---|
| 01 | Conectar por SSH | ssh -i llave.pem bitnami@IP |
| 02 | Instalar Git | sudo apt install git -y |
| 03 | Ir a WordPress | cd /opt/bitnami/wordpress |
| 04 | Inicializar repo | git init |
| 05 | Primer commit | git add . && git commit -m "..." |
| 06 | Generar clave SSH | ssh-keygen -t ed25519 -C "email" |
| 07 | Agregar remote SSH | git remote add origin git@github.com:… |
| 08 | Pull previo (si es necesario) | git pull --rebase origin main |
| 09 | Subir código | git push -u origin main |
