Accediendo a Sshwifty
- Abre tu navegador y visita:
https://<SERVER_IP> - Es normal que aparezca un aviso SSL en el navegador (certificado autofirmado)
- Se requiere autenticación (ventana emergente de autenticación básica)
- Método de autenticación: autenticación básica HTTP
- Las credenciales se almacenan de forma segura en:
/root/.cloudzy-creds
Archivos y directorios importantes
- Directorio de instalación:
/root/sshwifty - Archivo Docker Compose:
/root/sshwifty/docker-compose.yml - Credenciales almacenadas:
/root/.cloudzy-creds - Servidor virtual Nginx:
/etc/nginx/sites-available/sshwifty.conf - Archivo de autenticación básica:
/etc/nginx/auth/sshwifty.htpasswd - Certificados TLS:
/etc/nginx/ssl
Notas de seguridad
- Sólo Nginx escucha en puertos públicos.
- El acceso está protegido mediante autenticación básica.
- TLS utiliza un certificado autofirmado.
- Las credenciales se almacenan con permisos restrictivos.
Habilitar SSL con un dominio
1. Apunta tu dominio a la IP del servidor.
2. Edita la configuración de Nginx y reemplaza ambos server_name <IP>; con tu dominio (<your-domain>) tanto para los bloques HTTP (puerto 80) como HTTPS (puerto 443):
vim /etc/nginx/sites-available/sshwifty.conf
3. Instala Certbot:
apt install -y certbot python3-certbot-nginx
4. Ejecuta el siguiente comando para generar un certificado válido de Let’s Encrypt:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Reemplaza las rutas SSL en la configuración de Nginx:
vim /etc/nginx/sites-available/sshwifty.conf
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Reinicia Nginx para aplicar los cambios:
systemctl restart nginx
7. Abre tu navegador y visita: https://yourdomain.com