馃捇 Referencia R谩pida de Comandos
Comandos 煤tiles organizados por categor铆a para referencia r谩pida.
脥ndice
- SSH
- Sistema
- Docker
- Docker Compose
- Nginx
- Certbot (SSL)
- UFW (Firewall)
- Fail2ban
- Logs
- Red
- Memoria y Disco
SSH
Conexi贸n
# Conectar al VPS
ssh your_username@YOUR_SERVER_IP
# Conectar con clave espec铆fica
ssh -i ~/.ssh/id_ed25519 your_username@YOUR_SERVER_IP
# Conectar con verbose (debug)
ssh -v your_username@YOUR_SERVER_IP
Gesti贸n de claves
# Generar clave SSH (ed25519)
ssh-keygen -t ed25519 -C "[email protected]"
# Generar clave SSH (RSA)
ssh-keygen -t rsa -b 4096 -C "[email protected]"
# Copiar clave al servidor
ssh-copy-id your_username@YOUR_SERVER_IP
# Ver claves SSH
ls -la ~/.ssh/
# Ver clave p煤blica
cat ~/.ssh/id_ed25519.pub
Configuraci贸n SSH
# Editar configuraci贸n SSH
sudo nano /etc/ssh/sshd_config
# Verificar sintaxis
sudo sshd -t
# Reiniciar SSH
sudo systemctl restart ssh
# Ver configuraci贸n actual
sudo cat /etc/ssh/sshd_config
# Ver 煤ltimas l铆neas (endurecimiento)
sudo tail -20 /etc/ssh/sshd_config
# Ver logs de SSH
sudo journalctl -u ssh -f
# Ver intentos de conexi贸n fallidos
sudo lastb
# Ver 煤ltima conexi贸n
last
Sistema
Informaci贸n del sistema
# Ver versi贸n del sistema
uname -a
lsb_release -a
# Ver hostname
hostnamectl
# Ver zona horaria
timedatectl
# Ver uptime
uptime
# Ver procesos
htop
# o
top
# Ver usuarios conectados
w
who
Gesti贸n de servicios
# Ver estado de un servicio
sudo systemctl status nombre_servicio
# Iniciar servicio
sudo systemctl start nombre_servicio
# Parar servicio
sudo systemctl stop nombre_servicio
# Reiniciar servicio
sudo systemctl restart nombre_servicio
# Recargar configuraci贸n (sin downtime)
sudo systemctl reload nombre_servicio
# Habilitar al inicio
sudo systemctl enable nombre_servicio
# Deshabilitar al inicio
sudo systemctl disable nombre_servicio
# Ver servicios activos
sudo systemctl list-units --type=service --state=running
Actualizaciones
# Actualizar lista de paquetes
sudo apt update
# Actualizar paquetes instalados
sudo apt upgrade -y
# Actualizaci贸n completa
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
# Ver actualizaciones disponibles
apt list --upgradable
# Ver estado de actualizaciones autom谩ticas
sudo systemctl status unattended-upgrades
# Ver logs de actualizaciones autom谩ticas
sudo tail -f /var/log/unattended-upgrades/unattended-upgrades.log
Docker
Gesti贸n de contenedores
# Ver contenedores en ejecuci贸n
docker ps
# Ver todos los contenedores
docker ps -a
# Ver contenedores con tama帽o
docker ps -s
# Iniciar contenedor
docker start nombre_contenedor
# Parar contenedor
docker stop nombre_contenedor
# Reiniciar contenedor
docker restart nombre_contenedor
# Eliminar contenedor
docker rm nombre_contenedor
# Parar todos los contenedores
docker stop $(docker ps -q)
# Eliminar todos los contenedores parados
docker container prune
Im谩genes
# Ver im谩genes descargadas
docker images
# Descargar imagen
docker pull nombre_imagen:tag
# Eliminar imagen
docker rmi nombre_imagen
# Eliminar im谩genes no usadas
docker image prune -a
Logs y debugging
# Ver logs de un contenedor
docker logs nombre_contenedor
# Seguir logs en tiempo real
docker logs -f nombre_contenedor
# Ver 煤ltimas 50 l铆neas
docker logs --tail 50 nombre_contenedor
# Ejecutar comando en contenedor
docker exec -it nombre_contenedor bash
# Ejecutar comando 煤nico
docker exec nombre_contenedor ls -la
# Inspeccionar contenedor
docker inspect nombre_contenedor
# Ver eventos de Docker
docker events
Recursos
# Ver uso de recursos en tiempo real
docker stats
# Ver uso de recursos (snapshot)
docker stats --no-stream
# Ver uso de disco de Docker
docker system df
# Ver informaci贸n del sistema Docker
docker info
Redes y vol煤menes
# Ver redes de Docker
docker network ls
# Ver vol煤menes de Docker
docker volume ls
# Eliminar vol煤menes hu茅rfanos
docker volume prune
# Inspeccionar volumen
docker volume inspect nombre_volumen
Limpieza
# Limpiar recursos no usados (contenedores, im谩genes, redes)
docker system prune
# Limpieza completa (incluye im谩genes y vol煤menes)
docker system prune -a --volumes
# Solo limpiar im谩genes
docker image prune -a
# Solo limpiar vol煤menes
docker volume prune
# Solo limpiar contenedores
docker container prune
Docker Compose
Gesti贸n de servicios
# Ver versi贸n
docker compose version
# Levantar servicios
docker compose up
# Levantar en segundo plano
docker compose up -d
# Levantar con rebuild
docker compose up -d --build
# Levantar solo un servicio
docker compose up -d nombre_servicio
# Parar servicios (mantiene contenedores)
docker compose stop
# Parar y eliminar contenedores
docker compose down
# Parar, eliminar contenedores y vol煤menes
docker compose down -v
# Reiniciar servicios
docker compose restart
# Reiniciar un servicio espec铆fico
docker compose restart nombre_servicio
Informaci贸n y logs
# Ver estado de servicios
docker compose ps
# Ver logs
docker compose logs
# Seguir logs en tiempo real
docker compose logs -f
# Logs de un servicio espec铆fico
docker compose logs -f nombre_servicio
# Ver configuraci贸n parseada
docker compose config
# Validar configuraci贸n
docker compose config --quiet
Ejecuci贸n de comandos
# Ejecutar comando en un servicio
docker compose exec nombre_servicio bash
# Ejecutar comando 煤nico
docker compose exec nombre_servicio ls -la
# Ejecutar comando sin tener servicio corriendo
docker compose run nombre_servicio comando
Actualizaci贸n
# Descargar nuevas versiones de im谩genes
docker compose pull
# Recrear contenedores con nuevas im谩genes
docker compose up -d
# Todo en uno: pull + up
docker compose pull && docker compose up -d
Escalado
Nginx
Gesti贸n del servicio
# Ver estado
sudo systemctl status nginx
# Iniciar
sudo systemctl start nginx
# Parar
sudo systemctl stop nginx
# Reiniciar (con downtime)
sudo systemctl restart nginx
# Recargar (sin downtime)
sudo systemctl reload nginx
# Habilitar al inicio
sudo systemctl enable nginx
Configuraci贸n
# Verificar sintaxis
sudo nginx -t
# Ver configuraci贸n parseada
sudo nginx -T
# Ver versi贸n
nginx -v
# Ver versi贸n y m贸dulos
nginx -V
Gesti贸n de sitios
# Ver sitios disponibles
ls -la /etc/nginx/sites-available/
# Ver sitios habilitados
ls -la /etc/nginx/sites-enabled/
# Habilitar sitio
sudo ln -s /etc/nginx/sites-available/nombre /etc/nginx/sites-enabled/
# Deshabilitar sitio
sudo rm /etc/nginx/sites-enabled/nombre
# Ver configuraci贸n de un sitio
sudo cat /etc/nginx/sites-available/nombre
# Editar configuraci贸n
sudo nano /etc/nginx/sites-available/nombre
Testing
# Probar desde el VPS
curl http://localhost
curl -I http://localhost
# Probar con host espec铆fico
curl -H "Host: ejemplo.com" http://localhost
# Ver headers de respuesta
curl -I https://ejemplo.com
# Test SSL
curl -v https://ejemplo.com
# Test completo con tiempos
curl -w "@-" -o /dev/null -s https://ejemplo.com <<'EOF'
time_namelookup: %{time_namelookup}s\n
time_connect: %{time_connect}s\n
time_appconnect: %{time_appconnect}s\n
time_redirect: %{time_redirect}s\n
time_pretransfer: %{time_pretransfer}s\n
time_starttransfer: %{time_starttransfer}s\n
----------\n
time_total: %{time_total}s\n
EOF
Certbot (SSL)
Gesti贸n de certificados
# Ver versi贸n
certbot --version
# Listar certificados
sudo certbot certificates
# Ver certificado espec铆fico
sudo certbot certificates --cert-name ejemplo.com
# Obtener certificado (DNS-01 con Cloudflare)
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /root/.secrets/cf.ini \
-d ejemplo.com
# Obtener certificado wildcard
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /root/.secrets/cf.ini \
-d '*.ejemplo.com' -d ejemplo.com
Renovaci贸n
# Renovar certificados pr贸ximos a expirar
sudo certbot renew
# Renovar certificado espec铆fico
sudo certbot renew --cert-name ejemplo.com
# Forzar renovaci贸n
sudo certbot renew --cert-name ejemplo.com --force-renewal
# Test de renovaci贸n (dry-run)
sudo certbot renew --dry-run
# Ver timer de renovaci贸n
sudo systemctl status certbot.timer
# Ver pr贸xima ejecuci贸n
sudo systemctl list-timers | grep certbot
Gesti贸n avanzada
# Revocar certificado
sudo certbot revoke --cert-path /etc/letsencrypt/live/ejemplo.com/cert.pem
# Eliminar certificado
sudo certbot delete --cert-name ejemplo.com
# Ver configuraci贸n de renovaci贸n
sudo cat /etc/letsencrypt/renewal/ejemplo.com.conf
Testing SSL
# Ver fecha de expiraci贸n
echo | openssl s_client -servername ejemplo.com -connect ejemplo.com:443 2>/dev/null | openssl x509 -noout -dates
# Test completo SSL
openssl s_client -connect ejemplo.com:443 -servername ejemplo.com
# Verificar certificado
curl -vI https://ejemplo.com 2>&1 | grep -i "certificate"
UFW (Firewall)
Gesti贸n b谩sica
# Ver estado
sudo ufw status
# Ver estado detallado
sudo ufw status verbose
# Ver estado numerado
sudo ufw status numbered
# Habilitar firewall
sudo ufw enable
# Deshabilitar firewall
sudo ufw disable
# Recargar firewall
sudo ufw reload
Reglas
# Permitir servicio
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
# Permitir puerto espec铆fico
sudo ufw allow 3000/tcp
sudo ufw allow 3000/udp
# Denegar puerto
sudo ufw deny 3000/tcp
# Eliminar regla
sudo ufw delete allow 3000/tcp
# Eliminar regla por n煤mero
sudo ufw delete [n煤mero]
# Permitir desde IP espec铆fica
sudo ufw allow from 192.168.1.100
# Permitir puerto desde IP espec铆fica
sudo ufw allow from 192.168.1.100 to any port 22
Pol铆ticas por defecto
# Denegar todo entrante
sudo ufw default deny incoming
# Permitir todo saliente
sudo ufw default allow outgoing
# Ver aplicaciones disponibles
sudo ufw app list
# Ver info de aplicaci贸n
sudo ufw app info 'Nginx Full'
Reset
# Resetear a configuraci贸n por defecto
sudo ufw reset
# Confirmar reset
# Esto elimina TODAS las reglas
Fail2ban
Estado y gesti贸n
# Ver estado general
sudo systemctl status fail2ban
# Ver jails activas
sudo fail2ban-client status
# Ver jail espec铆fica (SSH)
sudo fail2ban-client status sshd
# Ver IPs baneadas
sudo fail2ban-client get sshd banned
# Desbanear IP
sudo fail2ban-client set sshd unbanip 192.168.1.100
# Banear IP manualmente
sudo fail2ban-client set sshd banip 192.168.1.100
# Recargar configuraci贸n
sudo systemctl reload fail2ban
# Reiniciar fail2ban
sudo systemctl restart fail2ban
Logs
Logs del sistema
# Ver logs del sistema
sudo journalctl -xe
# Ver logs en tiempo real
sudo journalctl -f
# Ver logs de un servicio
sudo journalctl -u nombre_servicio
# Ver logs de un servicio en tiempo real
sudo journalctl -u nginx -f
# Ver logs desde hace X tiempo
sudo journalctl --since "1 hour ago"
sudo journalctl --since "2 days ago"
sudo journalctl --since "2024-01-01"
# Ver logs del kernel
dmesg
sudo journalctl -k
Logs de Nginx
# Ver logs de acceso
sudo tail -f /var/log/nginx/access.log
# Ver logs de errores
sudo tail -f /var/log/nginx/error.log
# Ver 煤ltimas 50 l铆neas
sudo tail -n 50 /var/log/nginx/error.log
# Buscar errores espec铆ficos
sudo grep "error" /var/log/nginx/error.log
# Ver logs por sitio (si configurado)
sudo tail -f /var/log/nginx/labs-access.log
Logs de Certbot
# Ver logs de Let's Encrypt
sudo tail -f /var/log/letsencrypt/letsencrypt.log
# Ver logs de certbot
sudo journalctl -u certbot -f
Logs de autenticaci贸n
# Ver intentos de login
sudo tail -f /var/log/auth.log
# Ver intentos fallidos de SSH
sudo lastb
# Ver logins exitosos
last
Red
Informaci贸n de red
# Ver interfaces de red
ip addr
ifconfig
# Ver rutas
ip route
route -n
# Ver estad铆sticas de red
netstat -i
ip -s link
# Ver hostname e IP
hostname -I
Puertos y conexiones
# Ver puertos escuchando
sudo ss -tulpn
sudo netstat -tulpn
# Ver puertos espec铆ficos
sudo ss -tulpn | grep :80
sudo ss -tulpn | grep :443
sudo ss -tulpn | grep :3000
# Ver conexiones activas
sudo ss -tupn
sudo netstat -tupn
# Ver conexiones establecidas
sudo ss -tn
# Ver estad铆sticas de conexiones
ss -s
Testing de conectividad
# Ping
ping ejemplo.com
ping -c 4 ejemplo.com
# Traceroute
traceroute ejemplo.com
# DNS lookup
nslookup ejemplo.com
dig ejemplo.com
# Ver resoluci贸n DNS
host ejemplo.com
# Test de puerto
telnet ejemplo.com 80
nc -zv ejemplo.com 80
# Test HTTP
curl -I http://ejemplo.com
wget --spider http://ejemplo.com
Memoria y Disco
Memoria
# Ver uso de memoria
free -h
# Ver uso de memoria en tiempo real
watch -n 1 free -h
# Ver procesos por uso de memoria
ps aux --sort=-%mem | head -n 10
# Ver swap
swapon --show
# Ver swappiness
cat /proc/sys/vm/swappiness
# Cambiar swappiness temporalmente
sudo sysctl vm.swappiness=10
# Ver uso detallado de memoria
cat /proc/meminfo
Disco
# Ver uso de disco
df -h
# Ver uso de disco (inodos)
df -i
# Ver tama帽o de directorios
du -sh /ruta/*
du -sh ~/apps/*
# Ver tama帽o de directorio espec铆fico
du -sh /var/lib/docker
# Ver archivos m谩s grandes
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
# Ver uso de disco en tiempo real
watch -n 1 df -h
Limpieza
# Eliminar paquetes hu茅rfanos
sudo apt autoremove -y
# Limpiar cach茅 de apt
sudo apt clean
# Eliminar logs antiguos
sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=100M
# Ver tama帽o de logs
sudo du -sh /var/log
One-Liners 脷tiles
Estado general del sistema
echo "=== SISTEMA ===" && uname -a && \
echo "=== MEMORIA ===" && free -h && \
echo "=== DISCO ===" && df -h && \
echo "=== CONTENEDORES ===" && docker ps && \
echo "=== NGINX ===" && sudo systemctl status nginx --no-pager && \
echo "=== UFW ===" && sudo ufw status && \
echo "=== PUERTOS ===" && sudo ss -tulpn | grep LISTEN
Backup r谩pido
# Backup de configuraciones de Nginx
sudo tar -czf nginx-backup-$(date +%Y%m%d).tar.gz /etc/nginx/sites-available/
# Backup de apps
tar -czf apps-backup-$(date +%Y%m%d).tar.gz ~/apps/
# Backup de certificados (opcional)
sudo tar -czf certs-backup-$(date +%Y%m%d).tar.gz /etc/letsencrypt/
Monitoreo r谩pido
# Ver todo en tiempo real
watch -n 2 'echo "=== MEM ===" && free -h && echo "=== DISK ===" && df -h && echo "=== DOCKER ===" && docker ps && echo "=== PORTS ===" && sudo ss -tulpn | grep LISTEN'