Guía práctica de comandos SSL/TLS para tu VPS, orientada a lo más útil: comprobar certificados, generar claves y revisar conexiones seguras.
🔑 Generar claves y certificados
- Crear una clave privada RSA de 2048 bitsbash
openssl genrsa -out claveprivada.key 2048 - Crear una CSR (Certificate Signing Request) para pedir un certificado a una CA:bash
openssl req -new -key claveprivada.key -out solicitud.csr - Generar un certificado autofirmado (válido para pruebas)bash
openssl req -x509 -new -nodes -key claveprivada.key -sha256 -days 365 -out certificado.crt
🔍 Inspección de certificados
- Ver información de un certificadobash
openssl x509 -in certificado.crt -text -noout - Comprobar fecha de caducidadbash
openssl x509 -enddate -noout -in certificado.crt - Ver huella digital (fingerprint)bash
openssl x509 -fingerprint -noout -in certificado.crt
🌐 Comprobación de conexiones SSL/TLS
- Probar conexión a un servidor HTTPSbash
openssl s_client -connect ejemplo.com:443 - Ver solo el certificado del servidorbash
openssl s_client -connect ejemplo.com:443 -servername ejemplo.com </dev/null 2>/dev/null | openssl x509 -text
🛠️ Utilidades rápidas
- Convertir un certificado de formato DER a PEMbash
openssl x509 -inform der -in certificado.der -out certificado.pem - Unir clave y certificado en un solo archivo (útil para Nginx/Apache)bash
cat claveprivada.key certificado.crt > fullchain.pem
Conclusión
Con estos comandos básicos puedes:
- Generar tus propios certificados para pruebas.
- Revisar fechas de caducidad y detalles de certificados instalados.
- Comprobar conexiones SSL/TLS de tus sitios desde el VPS.
GUÍA PARA RENOVAR CERTIFICADOS SSL
Guía práctica para renovar certificados SSL con Let’s Encrypt usando Certbot en tu VPS
🔧 Instalación de Certbot
En la mayoría de distribuciones Linux:
bash
sudo apt update
sudo apt install certbot python3-certbot-apache # si usas Apache
sudo apt install certbot python3-certbot-nginx # si usas Nginx
📜 Obtener un certificado nuevo
Ejemplo con Apache:
bash
sudo certbot --apache -d midominio.com -d www.midominio.com
Ejemplo con Nginx:
bash
sudo certbot --nginx -d midominio.com -d www.midominio.com
👉 Esto configura automáticamente el servidor web y activa HTTPS.
🔄 Renovación automática
Certbot instala un cron job que renueva certificados antes de caducar. Puedes probar la renovación manual con:
bash
sudo certbot renew --dry-run
📂 Ubicación de archivos
- Clave privada:
/etc/letsencrypt/live/midominio.com/privkey.pem - Certificado:
/etc/letsencrypt/live/midominio.com/fullchain.pem
Estos son los que se usan en la configuración de Apache/Nginx.
Consejos extra
- Caducidad: los certificados Let’s Encrypt duran 90 días, pero se renuevan solos si el cron está activo.
- Firewall: asegúrate de que el puerto 80 (HTTP) y 443 (HTTPS) estén abiertos para que Certbot pueda validar el dominio.
- Logs: revisa
/var/log/letsencrypt/si alguna renovación falla.
🎯 Con esto ya tienes un flujo completo: instalar Certbot, emitir certificados, renovarlos automáticamente y mantener tu VPS seguro con HTTPS actualizado.
Guía de configuración mínima en Apache y Nginx
Para usar los certificados de Let’s Encrypt que genera Certbot en tu VPS:
⚙️ Apache (con Certbot)
Cuando instalas con --apache, Certbot suele configurar todo automáticamente. Pero si quieres hacerlo manualmente, el bloque mínimo sería:
apache
<VirtualHost *:80>
ServerName midominio.com
ServerAlias www.midominio.com
Redirect permanent / https://midominio.com/
</VirtualHost>
<VirtualHost *:443>
ServerName midominio.com
ServerAlias www.midominio.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/midominio.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/midominio.com/privkey.pem
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
⚙️ Nginx (con Certbot)
Igual que en Apache, Certbot puede configurarlo solo con --nginx, pero el bloque manual sería:
nginx
server {
listen 80;
server_name midominio.com www.midominio.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name midominio.com www.midominio.com;
root /var/www/html;
ssl_certificate /etc/letsencrypt/live/midominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/midominio.com/privkey.pem;
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
🔑 Puntos clave
- Los archivos de Certbot siempre están en
/etc/letsencrypt/live/midominio.com/. - Usa
fullchain.pem(certificado + cadena completa) yprivkey.pem(clave privada). - Redirige todo el tráfico HTTP (puerto 80) a HTTPS (puerto 443).
- Tras modificar la configuración, recuerda reiniciar el servicio:
- Apache →
sudo systemctl reload apache2 - Nginx →
sudo systemctl reload nginx
- Apache →
🎯 Con esto ya tienes la configuración mínima para que tu VPS sirva WordPress con HTTPS seguro y renovado automáticamente por Certbot.
Información del Certificado SSL
guía de comandos útiles para comprobar la caducidad y estado de tus certificados SSL directamente desde tu VPS:
🔍 Ver información completa del certificado
bash
openssl x509 -in /etc/letsencrypt/live/midominio.com/fullchain.pem -text -noout
👉 Muestra todos los detalles: fechas de inicio y caducidad, emisor, huella digital, etc.
📅 Ver solo la fecha de caducidad
bash
openssl x509 -enddate -noout -in /etc/letsencrypt/live/midominio.com/fullchain.pem
👉 Te devuelve algo como:
Código
notAfter=Feb 14 12:00:00 2026 GMT
🌐 Comprobar el certificado de un sitio remoto
bash
echo | openssl s_client -connect midominio.com:443 -servername midominio.com 2>/dev/null | openssl x509 -noout -dates
👉 Esto consulta directamente el servidor y te muestra las fechas de validez del certificado que está sirviendo.
🛠️ Renovación manual de prueba con Certbot
bash
sudo certbot renew --dry-run
👉 Simula la renovación para verificar que el cron automático funciona correctamente.
🎯 Conclusión
Con estos comandos puedes:
- Revisar certificados instalados en tu VPS.
- Comprobar fechas de caducidad sin depender de plugins.
- Validar que Certbot está renovando automáticamente.
Así mantienes control total sobre la seguridad SSL de tus sitios WordPress en tu VPS. 🚀
Guías proporcionadas por Copilot