Cómo instalar el gestor de contraseñas Bitwarden en Ubuntu 22.04

Bitwarden es un gestor de contraseñas gratuito y de código abierto que te permite almacenar todos tus inicios de sesión y contraseñas y sincronizarlos entre todos tus dispositivos. Es multiplataforma y está disponible para Linux y los principales sistemas operativos, como Windows y macOS. Tiene un montón de características útiles, incluyendo un fuerte cifrado, autenticación de dos factores (2FA), auditoría de seguridad de las contraseñas, supervisión de la violación de las contraseñas, y opciones de alojamiento en la nube o local.

En este post, te mostraremos cómo instalar el software Bitwarden Password Manager en Ubuntu 22.04.

Requisitos previos

  • Un servidor con Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

En primer lugar, se recomienda actualizar y poner al día todos los paquetes del sistema a la última versión. Puedes actualizarlos ejecutando el siguiente comando:

apt update -y
apt upgrade -y

Una vez actualizados todos los paquetes, ejecuta el siguiente comando para instalar las dependencias adicionales necesarias:

apt install apt-transport-https ca-certificates curl software-properties-common -y

Una vez instaladas todas las dependencias, puedes pasar al siguiente paso.

Instalar el repositorio Docker CE

A continuación, tendrás que añadir el repositorio oficial de Docker CE a APT. Primero, añade la clave GPG de Docker con el siguiente comando:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

A continuación, añade el repositorio de Docker CE con el siguiente comando:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"

Una vez añadido el repositorio de Docker a APT, puedes pasar al siguiente paso.

Instalar Docker CE

Ahora, puedes instalar la última versión de Docker CE utilizando el siguiente comando:

apt install docker-ce -y

Una vez instalado Docker, verifica el estado del servicio Docker con el siguiente comando:

systemctl status docker

Obtendrás el estado de Docker en la siguiente salida:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-08-28 05:52:18 UTC; 47s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 2719 (dockerd)
      Tasks: 7
     Memory: 30.3M
        CPU: 312ms
     CGroup: /system.slice/docker.service
             ??2719 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379341986Z" level=info msg="scheme \"unix\" not registered, fallback to d>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379467088Z" level=info msg="ccResolverWrapper: sending update to cc: {[{u>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379593467Z" level=info msg="ClientConn switching balancer to \"pick_first>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.427861369Z" level=info msg="Loading containers: start."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.620267088Z" level=info msg="Default bridge (docker0) is assigned with an >
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.713742709Z" level=info msg="Loading containers: done."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.744925054Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.745338168Z" level=info msg="Daemon has completed initialization"
Aug 28 05:52:18 ubuntu2204 systemd[1]: Started Docker Application Container Engine.
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.805663866Z" level=info msg="API listen on /run/docker.sock"

Instalar Docker Compose

También tendrás que instalar Docker Compose en tu sistema. Puedes descargarlo e instalarlo con el siguiente comando:

curl -sL "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

A continuación, establece el permiso de ejecución del binario descargado con el siguiente comando:

chmod +x /usr/local/bin/docker-compose

A continuación, verifica la versión de Docker Compose con el siguiente comando:

docker-compose --version

Obtendrás la siguiente salida:

docker-compose version 1.29.2, build 5becea4c

Crea un usuario para Bitwarden

Es una buena idea ejecutar Bitwarden como un usuario dedicado. Puedes crear un nuevo usuario y añadirlo al grupo sudo y docker con el siguiente comando:

useradd -G docker,sudo -s /bin/bash -m -d /opt/bitwarden bitwarden

A continuación, establece una contraseña para el usuario con el siguiente comando:

passwd bitwarden

Deberías ver la siguiente salida:

New password: 
Retype new password: 
passwd: password updated successfully

A continuación, cambia la propiedad al directorio bitwarden:

chown -R bitwarden: /opt/bitwarden

Instalar el gestor de contraseñas Bitwarden en Ubuntu 22.04

En primer lugar, visita la página de alojamiento de Bitwarden y obtén la clave y el identificador de instalación de Bitwarden como se muestra a continuación:

Identificación del anfitrión

A continuación, cambia el usuario a Bitwarden y descarga el script de instalación de Bitwarden utilizando el siguiente comando:

su - bitwarden
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh

A continuación, establece el permiso de ejecución para el script descargado:

chmod +x bitwarden.sh

A continuación, instala el gestor de contraseñas de Bitwarden con el siguiente comando:

sudo ./bitwarden.sh install

Se te pedirá que proporciones tu dominio o IP, la información SSL y el nombre de la base de datos, como se muestra a continuación:

 _     _ _                         _            
| |__ (_) |___      ____ _ _ __ __| | ___ _ __  
| '_ \| | __\ \ /\ / / _` | '__/ _` |/ _ \ '_ \ 
| |_) | | |_ \ V  V / (_| | | | (_| |  __/ | | |
|_.__/|_|\__| \_/\_/ \__,_|_|  \__,_|\___|_| |_|

Open source password management solutions
Copyright 2015-2022, 8bit Solutions LLC
https://bitwarden.com, https://github.com/bitwarden

===================================================

bitwarden.sh version 2022.8.4
Docker version 20.10.17, build 100c701
docker-compose version 1.29.2, build 5becea4c

(!) Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com): 208.117.81.243

(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): n

(!) Enter the database name for your Bitwarden instance (ex. vault): bitwarden

Proporciona toda la información necesaria y pulsa la tecla Intro. Se te pedirá que proporciones la clave de instalación de Bitwarden, el identificador y la información SSL:

2022.8.4: Pulling from bitwarden/setup
1efc276f4ff9: Pull complete 
e5aeae5c9ad4: Pull complete 
9d8b4edc672a: Pull complete 
67bb3a123350: Pull complete 
4b31f33ff8ee: Pull complete 
8302c6d93c2f: Pull complete 
64c1ff0e03a3: Pull complete 
289e8b648bb1: Pull complete 
c706fe453135: Pull complete 
6b18bfe90415: Pull complete 
Digest: sha256:257317606bad7b6c06755c81e4f61099b4af8b89829d7a9a2688545b92daa45f
Status: Downloaded newer image for bitwarden/setup:2022.8.4
docker.io/bitwarden/setup:2022.8.4

(!) Enter your installation id (get at https://bitwarden.com/host): c1908405-5beb-497f-9f09-aefe00f87c3f

(!) Enter your installation key: yQVH9PTcUIPftio0ZM8L

(!) Do you have a SSL certificate to use? (y/n): n

(!) Do you want to generate a self-signed SSL certificate? (y/n): y

Proporciona toda la información necesaria y pulsa la tecla Intro. Una vez instalado el Bitwarden, deberías ver el siguiente resultado:

Generating key for IdentityServer.
Generating a RSA private key
.........................++++
.++++
writing new private key to 'identity.key'
-----

!!!!!!!!!! WARNING !!!!!!!!!!
You are not using a SSL certificate. Bitwarden requires HTTPS to operate. 
You must front your installation with a HTTPS proxy or the web vault (and 
other Bitwarden apps) will not work properly.

Building nginx config.
Building docker environment files.
Building docker environment override files.
Building FIDO U2F app id.
Building docker-compose.yml.

Installation complete

If you need to make additional configuration changes, you can modify
the settings in `./bwdata/config.yml` and then run:
`./bitwarden.sh rebuild` or `./bitwarden.sh update`

Next steps, run:
`./bitwarden.sh start`

Ahora, inicia el servicio de Bitwarden con el siguiente comando:

sudo ./bitwarden.sh start

Deberías obtener la siguiente salida:

bitwarden.sh version 2022.8.4
Docker version 20.10.17, build 100c701
docker-compose version 1.29.2, build 5becea4c

Pulling mssql         ... done
Pulling web           ... done
Pulling attachments   ... done
Pulling api           ... done
Pulling identity      ... done
Pulling sso           ... done
Pulling admin         ... done
Pulling icons         ... done
Pulling notifications ... done
Pulling events        ... done
Pulling nginx         ... done
Creating directory /opt/bitwarden/bwdata/core
Creating directory /opt/bitwarden/bwdata/core/attachments
Creating directory /opt/bitwarden/bwdata/logs
Creating directory /opt/bitwarden/bwdata/logs/admin
Creating directory /opt/bitwarden/bwdata/logs/api
Creating directory /opt/bitwarden/bwdata/logs/events
Creating directory /opt/bitwarden/bwdata/logs/icons
Creating directory /opt/bitwarden/bwdata/logs/identity
Creating directory /opt/bitwarden/bwdata/logs/mssql
Creating directory /opt/bitwarden/bwdata/logs/nginx
Creating directory /opt/bitwarden/bwdata/logs/notifications
Creating directory /opt/bitwarden/bwdata/logs/sso
Creating directory /opt/bitwarden/bwdata/logs/portal
Creating directory /opt/bitwarden/bwdata/mssql/backups
Creating directory /opt/bitwarden/bwdata/mssql/data
Creating network "docker_default" with the default driver
Creating network "docker_public" with the default driver
Creating bitwarden-notifications ... done
Creating bitwarden-events        ... done
Creating bitwarden-icons         ... done
Creating bitwarden-mssql         ... done
Creating bitwarden-attachments   ... done
Creating bitwarden-web           ... done
Creating bitwarden-sso           ... done
Creating bitwarden-identity      ... done
Creating bitwarden-api           ... done
Creating bitwarden-admin         ... done
Creating bitwarden-nginx         ... done
2022.8.4: Pulling from bitwarden/setup
Digest: sha256:257317606bad7b6c06755c81e4f61099b4af8b89829d7a9a2688545b92daa45f
Status: Image is up to date for bitwarden/setup:2022.8.4
docker.io/bitwarden/setup:2022.8.4


Bitwarden is up and running!
===================================================

visit http://bitwarden.example.com
to update, run `./bitwarden.sh updateself` and then `./bitwarden.sh update`

Puedes verificar todas las imágenes docker descargadas utilizando el siguiente comando:

sudo docker images

Obtendrás la siguiente salida:

REPOSITORY                TAG        IMAGE ID       CREATED       SIZE
bitwarden/mssql           2022.8.4   0fde97fd6c2b   11 days ago   1.4GB
bitwarden/setup           2022.8.4   c3f86466c311   11 days ago   271MB
bitwarden/notifications   2022.8.4   ad800e29d1bf   11 days ago   286MB
bitwarden/identity        2022.8.4   39342ec67118   11 days ago   284MB
bitwarden/nginx           2022.8.4   a9e4cdb98e3d   11 days ago   144MB
bitwarden/icons           2022.8.4   e52e97fcc4c1   11 days ago   285MB
bitwarden/admin           2022.8.4   25fe354a8fa2   11 days ago   346MB
bitwarden/sso             2022.8.4   345ee4d3d544   11 days ago   289MB
bitwarden/events          2022.8.4   012f3c8dc079   11 days ago   284MB
bitwarden/api             2022.8.4   f780a0e0bfbf   11 days ago   289MB
bitwarden/attachments     2022.8.4   8b08874c96fc   11 days ago   214MB
bitwarden/web             2022.8.1   1ac4e585d2dd   2 weeks ago   247MB

Para comprobar todos los contenedores en ejecución, ejecuta el siguiente comando:

sudo docker ps

Deberías ver la siguiente salida:

CONTAINER ID   IMAGE                              COMMAND            CREATED          STATUS                             PORTS                                                                                    NAMES
9af240bb8845   bitwarden/nginx:2022.8.4           "/entrypoint.sh"   33 seconds ago   Up 28 seconds (health: starting)   80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp   bitwarden-nginx
4758bb5d8c6c   bitwarden/admin:2022.8.4           "/entrypoint.sh"   39 seconds ago   Up 33 seconds (health: starting)   5000/tcp                                                                                 bitwarden-admin
2814dd1eddd2   bitwarden/identity:2022.8.4        "/entrypoint.sh"   45 seconds ago   Up 35 seconds (healthy)            5000/tcp                                                                                 bitwarden-identity
22fa6c748d4f   bitwarden/sso:2022.8.4             "/entrypoint.sh"   45 seconds ago   Up 34 seconds (health: starting)   5000/tcp                                                                                 bitwarden-sso
9906ace7ea69   bitwarden/api:2022.8.4             "/entrypoint.sh"   45 seconds ago   Up 34 seconds (healthy)            5000/tcp                                                                                 bitwarden-api
1d1f10c10667   bitwarden/mssql:2022.8.4           "/entrypoint.sh"   45 seconds ago   Up 39 seconds (health: starting)                                                                                            bitwarden-mssql
f7ab34d501cc   bitwarden/attachments:2022.8.4     "/entrypoint.sh"   45 seconds ago   Up 37 seconds (healthy)                                                                                                     bitwarden-attachments
6646bf077ba8   bitwarden/web:2022.8.1             "/entrypoint.sh"   45 seconds ago   Up 39 seconds (healthy)                                                                                                     bitwarden-web
e73076475cc7   bitwarden/icons:2022.8.4           "/entrypoint.sh"   45 seconds ago   Up 35 seconds (health: starting)   5000/tcp                                                                                 bitwarden-icons
535f2f7599c1   bitwarden/events:2022.8.4          "/entrypoint.sh"   45 seconds ago   Up 35 seconds (healthy)            5000/tcp                                                                                 bitwarden-events
7a489f258459   bitwarden/notifications:2022.8.4   "/entrypoint.sh"   45 seconds ago   Up 34 seconds (healthy)            5000/tcp                                                                                 bitwarden-notifications

Accede a la interfaz web de Bitwarden

En este punto, el gestor de contraseñas Bitwarden está instalado y configurado. Ahora puedes acceder a su interfaz web utilizando la URL https://your-server-ip. Deberías ver la página de inicio de sesión de Bitwarden:

Acceder a Bitwarden

Haz clic en el botón Crear cuenta. Deberías ver la siguiente página:

Crear una cuenta

Proporciona tu dirección de correo electrónico, tu contraseña maestra y haz clic en el botón Crear cuenta. Una vez creada la cuenta, serás redirigido a la página de inicio de sesión de Bitwarden:

Contraseña maestra de Bitwarden

Proporciona tu dirección de correo electrónico, tu contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Bitwarden en la siguiente página:

Tablero de mandos de Bitwarden

Enhorabuena! has instalado con éxito el Gestor de Contraseñas Bitwarden con Docker en Ubuntu 22.04.

También te podría gustar...