Saltar a contenido

馃捇 Referencia R谩pida de Comandos

Comandos 煤tiles organizados por categor铆a para referencia r谩pida.


脥ndice


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

# Escalar servicios
docker compose up -d --scale web=3

# Ver servicios escalados
docker compose ps

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'

猬咃笍 Volver al 铆ndice