[{"data":1,"prerenderedAt":143},["ShallowReactive",2],{"seo-verification":3,"blog-migrar-bitwarden-cloud-a-vaultwarden-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-migrar-bitwarden-cloud-a-vaultwarden-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":90,"ctaBody":91,"ctaButton":92,"ctaUrl":93,"relatedPosts":94},421,"migrar-bitwarden-cloud-a-vaultwarden-vps",{"fr":12,"en":13,"ar":14,"es":10},"migrer-bitwarden-cloud-vaultwarden-vps","migrate-bitwarden-cloud-to-vaultwarden-vps","نقل-bitwarden-cloud-إلى-vaultwarden-على-vps","Migrar de Bitwarden cloud a Vaultwarden en un VPS","Migra todo desde Bitwarden cloud a Vaultwarden: credenciales, organizaciones y archivos adjuntos sin perder nada. Guía completa de CLI con solución de errores.",10,0,false,"2026-10-07T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigrer-bitwarden-cloud-vaultwarden-vps-poster.svg",{"categorySlug":34,"appSlug":35},"ciberseguridad-bastion","vaultwarden","El aumento de precios de Bitwarden a principios de 2026 empujó a muchos desarrolladores a dar el paso que llevaban tiempo posponiendo: alojar su propio gestor de contraseñas. Vaultwarden es la implementación open source del servidor Bitwarden, compatible con todos los clientes oficiales y con menos de 50 MB de RAM. La migración desde Bitwarden cloud es posible en una hora — siempre que no subestimes lo que el export JSON estándar no incluye.",[38,42,52,55,77,80,84,87],{"type":39,"title":40,"body":41},"h2","Por qué migrar a Vaultwarden self-hosted","Bitwarden aumentó sus precios aproximadamente un 98% a principios de 2026 en los planes individuales y familiares. Este aumento hizo que la pregunta del coste se volviera concreta para una herramienta que hasta entonces resultaba asequible. Pero el coste no es la única razón para migrar.\n\nVaultwarden es una reescritura en Rust del servidor Bitwarden. Expone la misma API que el servicio oficial, lo que significa que todos los clientes Bitwarden — extensión de navegador, aplicación móvil, CLI — funcionan sin ninguna modificación, simplemente apuntando a tu propio dominio. Las bóvedas de equipo, organizaciones, colecciones, TOTP y autenticación de dos factores están disponibles en la instancia self-hosted, mientras que en el servicio cloud oficial requieren planes de pago.\n\nVerifica esto en \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdani-garcia\u002Fvaultwarden\">github.com\u002Fdani-garcia\u002Fvaultwarden\u003C\u002Fa>: el proyecto tiene más de 40.000 estrellas y una comunidad activa, con discusiones de migración regulares incluyendo un hilo de 200+ comentarios abierto en 2026.",{"type":43,"title":44,"items":45},"ul","Lo que Vaultwarden ofrece frente a Bitwarden cloud",[46,47,48,49,50,51],"Coste mensual fijo: el precio de tu VPS, no una suscripción por usuario o por funcionalidad.","Bóvedas de organización y colecciones sin coste adicional: disponibles desde la instalación, no reservadas a un plan premium.","TOTP integrado: códigos de autenticación de dos factores almacenados en Vaultwarden, sin necesitar Bitwarden Premium.","Datos en tu infraestructura: ningún tercero tiene acceso a tu bóveda cifrada ni a los registros de conexión.","Compatibilidad total con los clientes oficiales de Bitwarden: sin cambios de hábitos para tus usuarios.","Consumo muy bajo: menos de 50 MB de RAM en reposo, funciona en el VPS más pequeño junto a otros servicios.",{"type":39,"title":53,"body":54},"Requisitos previos antes de empezar","**Vaultwarden ya desplegado.** Esta guía cubre únicamente la migración de datos. Si tu instancia no está lista, empieza por \u003Ca href=\"\u002Fblog\u002Fdeploy-vaultwarden-vps\">desplegar Vaultwarden en tu VPS\u003C\u002Fa>.\n\n**Bitwarden CLI instalado en una versión reciente.** Se recomienda la versión 2024.x o superior. Comprueba con `bw --version`. Instala con `npm install -g @bitwarden\u002Fcli` o descargando el binario desde \u003Ca href=\"https:\u002F\u002Fbitwarden.com\u002Fhelp\u002Fcli\u002F\">bitwarden.com\u002Fhelp\u002Fcli\u003C\u002Fa>.\n\n**SMTP configurado en Vaultwarden.** Las invitaciones de organización requieren un servidor SMTP funcional. Sin él, el paso de importación de organizaciones falla silenciosamente. Variables de entorno a verificar en tu `docker-compose.yml` o archivo `.env` de Vaultwarden:\n\n```bash\nSMTP_HOST=smtp.example.com\nSMTP_FROM=vault@example.com\nSMTP_PORT=587\nSMTP_SECURITY=starttls\nSMTP_USERNAME=vault@example.com\nSMTP_PASSWORD=tucontraseña\n```\n\n**Una cuenta de administrador activa en tu Vaultwarden.** La necesitarás para crear manualmente las organizaciones tras la importación.\n\n**Estimación de tiempo.** Reserva de 30 a 60 minutos según el volumen de datos y el número de organizaciones.",{"type":56,"title":57,"steps":58},"steps","Migrar de Bitwarden cloud a Vaultwarden: procedimiento completo",[59,62,65,68,71,74],{"title":60,"body":61},"Autenticarse en Bitwarden cloud con la CLI","Abre un terminal e inicia sesión en tu cuenta de Bitwarden cloud. La CLI se autentica en el servidor oficial por defecto — no cambies el `server` todavía; este comando debe apuntar a Bitwarden cloud:\n\n```bash\nbw login\n```\n\nIntroduce tu correo electrónico y contraseña maestra. Una vez autenticado, desbloquea la bóveda y exporta la clave de sesión:\n\n```bash\nexport BW_SESSION=$(bw unlock --raw)\n```\n\nEl flag `--raw` es esencial: sin él, `bw unlock` muestra un mensaje formateado en lugar de la clave bruta, y los comandos posteriores que usen `$BW_SESSION` devolverán un error de autenticación.\n\nVerifica que la sesión es válida:\n\n```bash\nbw status\n```\n\nLa respuesta debe indicar `\"status\": \"unlocked\"`.",{"title":63,"body":64},"Exportar tu bóveda personal en formato Bitwarden JSON","El export en formato JSON nativo de Bitwarden (`bitwardenjson`) conserva todos los metadatos: tipos de entradas, campos personalizados, URIs, notas, TOTP. No uses el formato CSV, que pierde esta información.\n\n```bash\nbw export --format bitwardenjson --output .\u002Fbitwarden-personal.json\n```\n\n**Attention :** **Este archivo no contiene tus archivos adjuntos.** Es la laguna más importante del export estándar. Los adjuntos deben descargarse por separado, entrada por entrada (paso 4).\n\nEl archivo JSON está cifrado en el lado del cliente — contiene tus datos en texto claro. Almacénalo en un directorio privado y elimínalo tras la importación.",{"title":66,"body":67},"Exportar cada organización por separado","Los datos de organización **no** están incluidos en el export de la bóveda personal. Cada organización debe exportarse con su propio identificador.\n\nPrimero lista tus organizaciones para obtener sus identificadores:\n\n```bash\nbw list organizations\n```\n\nPara cada organización mostrada, anota su `id` y expórtala:\n\n```bash\nbw export --organizationid \u003Cid-de-la-organizacion> --format bitwardenjson --output .\u002Fbitwarden-org-\u003Cnombre>.json\n```\n\nRepite este comando para cada organización. Si el comando devuelve un error de permisos, verifica que eres propietario o administrador de la organización.",{"title":69,"body":70},"Descargar los archivos adjuntos","Este es el paso que la mayoría de guías omite. El export JSON lista las entradas pero **no contiene los archivos adjuntos**.\n\nPara cada entrada que tenga un adjunto, usa el comando `bw get attachment`:\n\n```bash\nbw list items | jq '.[] | select(.attachments != null) | {id, name, attachments}'\n```\n\nPara descargar cada adjunto:\n\n```bash\nbw get attachment \u003Cnombre-del-archivo> --itemid \u003Cid-de-la-entrada> --output .\u002Fattachments\u002F\n```\n\nSi tienes muchos adjuntos, este script de bash automatiza la descarga:\n\n```bash\nmkdir -p .\u002Fattachments\nbw list items | jq -c '.[] | select(.attachments != null)' | while read item; do\n  ITEM_ID=$(echo $item | jq -r '.id')\n  ITEM_NAME=$(echo $item | jq -r '.name')\n  echo $item | jq -c '.attachments[]' | while read att; do\n    ATT_ID=$(echo $att | jq -r '.id')\n    ATT_NAME=$(echo $att | jq -r '.fileName')\n    bw get attachment \"$ATT_NAME\" --itemid \"$ITEM_ID\" --output \".\u002Fattachments\u002F${ITEM_ID}_${ATT_NAME}\"\n  done\ndone\n```",{"title":72,"body":73},"Importar en Vaultwarden","Primero redirige la CLI hacia tu instancia Vaultwarden:\n\n```bash\nbw config server https:\u002F\u002Fvault.tudominio.com\n```\n\nAutentícate en Vaultwarden:\n\n```bash\nbw logout\nbw login\nexport BW_SESSION=$(bw unlock --raw)\n```\n\nImporta la bóveda personal:\n\n```bash\nbw import bitwardenjson .\u002Fbitwarden-personal.json\n```\n\nPara las organizaciones, primero **crea la organización en la interfaz web de Vaultwarden**, luego recupera su identificador:\n\n```bash\nbw list organizations\n```\n\nImporta cada archivo de organización con el identificador recién creado:\n\n```bash\nbw import bitwardenjson .\u002Fbitwarden-org-\u003Cnombre>.json --organizationid \u003Cnuevo-id>\n```\n\nFinalmente, vuelve a adjuntar manualmente los archivos descargados a sus entradas a través de la interfaz web de Vaultwarden.",{"title":75,"body":76},"Verificar la importación y actualizar los clientes","Antes de dar la migración por completada, realiza estas comprobaciones:\n\nEn la interfaz web de Vaultwarden:\n- el número de entradas coincide con el de Bitwarden cloud;\n- los campos personalizados están presentes en algunas entradas de referencia;\n- los códigos TOTP funcionan;\n- las organizaciones y sus colecciones son visibles.\n\nEn los clientes Bitwarden (extensión de navegador, aplicación móvil):\n- cierra sesión en la cuenta de Bitwarden cloud;\n- en los ajustes del cliente, cambia la URL del servidor a `https:\u002F\u002Fvault.tudominio.com`;\n- vuelve a iniciar sesión con las mismas credenciales.\n\nEspera la sincronización completa antes de eliminar nada de la cuenta antigua.",{"type":39,"title":78,"body":79},"Configuración post-migración","**Copias de seguridad automáticas.** A diferencia del servicio cloud, hacer copias de seguridad de tu instancia self-hosted es tu responsabilidad. El archivo de datos de Vaultwarden es `data\u002Fdb.sqlite3`. Un cron diario es suficiente:\n\n```bash\n0 3 * * * tar -czf \u002Fbackup\u002Fvaultwarden-$(date +%Y%m%d).tar.gz \u002Fopt\u002Fvaultwarden\u002Fdata\u002F 2>\u002Fdev\u002Fnull\n```\n\n**Invitaciones de organización.** Si gestionas organizaciones con varios miembros, cada miembro debe ser reinvitado desde la interfaz de administración de Vaultwarden. La invitación se envía por correo electrónico.\n\n**Autenticación de dos factores.** Configura el 2FA en tu cuenta de Vaultwarden self-hosted en el primer inicio de sesión. Vaultwarden soporta TOTP, Duo, WebAuthn (claves FIDO2) y correo electrónico.",{"type":81,"title":82,"body":83},"tip","Cifra el archivo de export antes de almacenarlo","El export JSON de Bitwarden contiene tus contraseñas en texto claro. Si necesitas conservar este archivo temporalmente, cífralo con GPG:\n\n```bash\ngpg --symmetric --cipher-algo AES256 bitwarden-personal.json\nrm bitwarden-personal.json\n```\n\nElimina el archivo sin cifrar inmediatamente. Un archivo JSON de Bitwarden olvidado en una carpeta temporal es una brecha de seguridad directa.",{"type":39,"title":85,"body":86},"Solución de errores frecuentes","**Sesión expirada durante el export.** Síntoma: `Not logged in` o `Session key is invalid` a mitad del proceso. Solución:\n\n```bash\nexport BW_SESSION=$(bw unlock --raw)\n```\n\n**`--raw` faltante en `bw unlock`.** Sin `--raw`, `bw unlock` muestra un mensaje formateado en lugar de la clave bruta, y todos los comandos posteriores fallan con error de autenticación.\n\n**`bw export --organizationid` devuelve `You do not have permission`.** No eres propietario ni administrador de la organización. Verifica tu rol en la interfaz web de Bitwarden.\n\n**La importación falla con `already exists`.** Vacía la bóveda de Vaultwarden (Ajustes → Zona de peligro → Purgar bóveda) antes de relanzar la importación.\n\n**Los códigos TOTP no funcionan tras la importación.** Verifica que usas el formato `bitwardenjson`, no `csv` que no soporta TOTP.\n\n**Adjuntos ausentes tras la importación.** El export JSON estándar no contiene adjuntos. Deben descargarse con `bw get attachment` (paso 4) y adjuntarse manualmente.",{"type":39,"title":88,"body":89},"Tu bóveda self-hosted está operativa","La migración de Bitwarden cloud a Vaultwarden se resume en seis pasos si preparaste tu instancia y SMTP de antemano: export personal, exports por organización, descarga de adjuntos, reconfiguración de la CLI, importaciones, verificación.\n\nLos dos puntos a no ignorar son el formato `bitwardenjson` (no `csv`) y el paso de los adjuntos, que no forma parte de ningún export automático.\n\nPara reforzar la seguridad del VPS que aloja tu Vaultwarden, consulta la \u003Ca href=\"\u002Fblog\u002Flinux-hardening-vps-checklist\">checklist de hardening Linux\u003C\u002Fa> y la guía sobre \u003Ca href=\"\u002Fblog\u002Fsecurite-vps-mises-a-jour-automatiques-debian-ubuntu\">actualizaciones de seguridad automáticas\u003C\u002Fa>.","Activa Vaultwarden en tu VPS","Despliega Vaultwarden en minutos en un VPS con acceso root, IPv4 dedicada y elección de SO. Tus contraseñas permanecen en tu infraestructura.","Activar esta solución","\u002Fmarketplace\u002Fciberseguridad-bastion\u002Fvaultwarden",[95,112,128],{"id":96,"slug":97,"slugs":98,"title":102,"excerpt":103,"readTime":104,"views":18,"isPinned":19,"publishedAt":105,"updatedAt":106,"category":107,"categories":108,"featuredImage":30,"bgImage":31,"posterImage":110,"relatedSolution":111},131,"desplegar-vaultwarden-en-un-vps",{"fr":99,"en":100,"ar":101,"es":97},"deploy-vaultwarden-vps","self-host-your-password-manager-deploy-vaultwarden-on-vps","استضف-مدير-كلمات-المرور-بنفسك-انشر-vaultwarden-على-vps","Vaultwarden en VPS: gestor de contraseñas autoalojado","Autoaloja Vaultwarden en un VPS: contraseñas ilimitadas, compatibilidad con Bitwarden, bóvedas de equipo y TOTP, con coste mensual fijo y menos de 50 MB de RAM.",9,"2026-06-24T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[109],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeploy-vaultwarden-vps-poster.svg",{"categorySlug":27,"appSlug":35},{"id":113,"slug":114,"slugs":115,"title":119,"excerpt":120,"readTime":121,"views":122,"isPinned":19,"publishedAt":123,"updatedAt":106,"category":124,"categories":125,"featuredImage":30,"bgImage":31,"posterImage":127,"relatedSolution":30},317,"hardening-linux-vps-checklist-para-agencias-tras-la-entrega",{"fr":116,"en":117,"ar":118,"es":114},"linux-hardening-vps-checklist","linux-vps-hardening-checklist-for-agencies","قائمة-تصليب-خادم-لينكس-للوكالات-بعد-التسليم","Hardening Linux VPS : checklist para agencias tras la entrega","Checklist de hardening Linux reproducible para agencias: auditd, sudo, clave SSH, UFW, fail2ban y desactivación de root — con trazabilidad por cliente.",11,1,"2026-08-30T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[126],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Flinux-hardening-vps-checklist-poster.svg",{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":17,"views":18,"isPinned":19,"publishedAt":137,"updatedAt":138,"category":139,"categories":140,"featuredImage":30,"bgImage":31,"posterImage":142,"relatedSolution":30},382,"actualizaciones-seguridad-vps-debian-ubuntu",{"fr":132,"en":133,"ar":134,"es":130},"securite-vps-mises-a-jour-automatiques-debian-ubuntu","vps-automatic-security-updates-debian-ubuntu","تحديثات-أمان-تلقائية-vps-debian-ubuntu","Actualizaciones de seguridad automáticas en VPS Debian\u002FUbuntu","Configure unattended-upgrades en sus VPS Debian\u002FUbuntu para automatizar los parches de seguridad y reducir la superficie de ataque en su flota de clientes.","2026-09-26T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[141],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsecurite-vps-mises-a-jour-automatiques-debian-ubuntu-poster.svg",1791414879720]