- ENTRADA 017 -

Sincronizar servidor nextcloud por consola


Señor, la Kempeitai cazó al escurridizo Richard Sorge



Tengo un espacio en la nube de Disroot y hasta ahora solía usar el cliente gráfico nextcloud-client. Se ejecuta al inicio y para funcionar debo abrir el navegador para hacer la conexión. Esto trae un problema, y es que he de meter la contraseña cada vez y el código OTP, ya que tengo activado la autenticación en 2 factores (2FA), vamos, que es un engorro.

Si entro la primera vez puedo decirle que me guarde los datos, pero es otro follón, porque tengo que hacer reglas de filtrado de cookies por que tengo el navegador configurado para que las borre todas al salir, y también elimino las 'preferencias del sitio' y esto a veces da errores.


Andaba tiempo buscando la manera de hacerlo más fácil, y en una de mis míticas búsquedas, encontré (casi de casualidad) la manera de hacerlo por consola, y entonces recordé que nextcloud lleva incorporado un comando llamado nextcloudcmd para hacer tareas por línea de comandos, así que le di vueltas y encontré la manera de hacerlo mucho más fácil.


Sin doble factor de autenticación (2FA)


Si no tienes doble factor de autenticación (mal hecho), la cosa es fácil. Solo hay que poner el siguiente comando:


nextcloudcmd -u 'mi-usuario' -p 'mi-contraseña' /home/moribundo/NextCloud https://cloud.disroot.org

Empieza a salir por consola una verborrea de cosas, entre ellas la sincronización de cada directorio.


Para arrojar más datos al log puedes añadir la opción --logdebug

Si tienes problemas de certificados pero confias en la conexión, puedes validarlos (aunque sean erróneos, por lo que no es recomendable) con la opción --trust



Con 2FA


Si tienes la doble autenticación (bien por tí) verás que da errores del tipo:



Eso es debido a que tu contraseña no es válida cuando accedes desde otro sitio que no sea loguearte directamente en la web. Lo soluciono así:


Configurar la nube


Primero de todo tengo que entrar manualmente a la nube y pinchar en el menú de "Ajustes". Allí me voy al apartado "Seguridad", que es donde aparecen las opciones para el 2FA. Si bajo la barra de scroll veo un histórico de dispositivos y programas que han accedido a la nube. Si sigo bajando hasta abajo del todo veo un botoncito (podrían haberlo puesto arriba más visible, pero bueno) llamado "Crear nueva contraseña de app".

Pincho y el botón se convierte en una contraseña, que copio y guardo por que será la que deberé utilizar desde accesos externos que sean diferentes al login por web. Como uso un sistema de recordatorios de contraseñas por consola (password manager), añado esta nueva contraseña a la que ya tenía.


Gestor de contraseñas con password-manager


Hecho.


Sincronizar por consola


Ahora me voy a la consola que siempre tengo abierta y tecleo el siguiente comando:


nextcloudcmd -u 'mi-usuario' -p 'contraseña-recien-creada' /home/moribundo/NextCloud https://cloud.disroot.org

Si te fijas, ya no pongo "mi-contraseña" si no que pongo la nueva que he generado bajo 2FA.


Esto lo pongo al final del scipt de apagado del sistema y ya me olvido de tantas historias.


NOTA: Si has hecho varios intentos prueba-error, puede que no funcione. Esto lo ha previsto el equipo de desarrolladores de Nextcloud y se soluciona entrando normalmente desde web (se reponen las contraseñas).

A mi no me ha pasado pero lo leí en la documentación de Nextcloud y me ha parecido interesante dejarlo anotado.



Disclaimer


La contraseña y nombre de usuario están en texto plano en el comando, por lo que no es válido para todos los entornos. En mi caso, es mi ordenador de casa y solo lo uso yo, en un disco cifrado con LUKS, así que este tutorial quizá no sea aconsejable para tí, hazlo bajo tu responsabilidad.



Tag: #nextcloud



◄ Listado de noticias

◄◄ Inicio



/blog/