Solucionar errores de renovación de certificados Let’s Encrypt en Virtualmin

Para los que administramos nuestros servidores con Virtualmin y probamos desde que apareció la gestión de certificados SSL con Let’s Encrypt, la renovación de los mismos probablemente nos esté dando varios quebraderos de cabeza. Dos de los errores más comunes son:

  • Permission Denied al ejecutar mkdir
  • Invalid response from http://www.example.com/.well-known/acme-challenge/…

La solución de ambos problemas es sencilla. En caso del Permission Denied, se produce porque la primera implementación de Let’s Encrypt en Virtualmin usaba el usuario root para crear la carpeta .well-known y sus contenidos mientras que ahora, como debería ser, utiliza el usuario ‘propietario’ del dominio. Para solucionarlo, desde el File Manager en el panel o a través de SSH, eliminamos la carpeta y cuando ejecutemos la renovación la vuelve a crear con los permisos correctos.

El error de Invalid response, se produce porque no puede acceder desde afuera a la dirección indicada. Se suele producir por varias razones, un .htaccess o web.config muy restrictivos, una política de redirección en Nginx o que se esté forzando la conexión https para todas las conexiones a través de la configuración del servidor. Se puede solucionar agregando una excepción para la carpeta .well-know o, desactivando temporalmente, las políticas que puedan estar evitando el acceso en la configuración de nuestro servidor web.

Mapear una conexión SFTP a una unidad en Windows

El acceso mediante SSH al servidor es más seguro, rápido y potente. Nos permite trabajar  como si estuviéramos delante del equipo. SFTP no es más que SSH FTP, es decir, permite trabajar con la conexión SSH como si fuera FTP con la ventaja de la encriptación y la transferencia binaria.

Todo sería color de rosa si no fuera porque los clientes de Windows que permiten la conexión mediante SFTP (WinSCP, PSFTP y Filezilla) no son muy dados a compartirla con otros programas como nuestro editor favorito o el Explorador de Archivos.

Unidad SFTPEl mapeo de la conexión SFTP como unidad nos permite solucionar esto para la mayoría de los programas.

 

En la práctica queda funcionando como cualquier otra unidad de disco aunque un poco más lenta para leer.

How To

Para poder hacerlo vamos a necesitar dos programas:

  • Dokany, librería que simplifica la adaptación de nuevos sistemas de ficheros a Windows. En vez de tener que desarrollar un driver para Windows podemos solucionarlo mediante una API o una DLL.
    URI: https://github.com/dokan-dev/dokany
  • WinSshFS 4every1 edition, el programa que sen encarga de gestionar nuestras conexiones SFTP y pasarle la información a Dokany para que Windows la muestre de forma amigable.
    URI: https://github.com/dimov-cz/win-sshfs

Es importante tener en cuenta que la última versión de WinSshFS fue desarrollada para la versión 0.7.4 de Dokany y no soporta ni funciona con las más nuevas. Además, Dokany 0.7.4, nos requiere tener instalado el Microsoft Visual C++ 2013 Redistributable.

Las instalaciones son sencillas y no requieren más que darle para adelante (Dokany) o extraer algunos archivos (WinSshFS).

WinSshFSUna vez intalado todo, nos dirigimos a la carpeta donde hayamos descomprimido el WinSshFS y arrancamos el programa.

La interfaz es sencilla y bastante intuitiva. Ponemos los datos de la conexión, seleccionamos la letra de unidad donde queremos montar, damos en ‘Mount’ y deberíamos ver aparecer en nuestro sistema la nueva unidad con nuestros archivos.

Actualización 1: Dokany para ofrecerte la descarga del redistributable aunque lo tengas instalado.

 

Actualización 2: Otros dos proyectos interesantes con Dokany mssqlfs y torrent-mount