SFTP Male
🇪🇸 Español | 🇬🇧 English below
🇪🇸 Español
SFTP Male es una extensión para Visual Studio Code que permite sincronizar archivos con servidores remotos de forma segura, soportando los protocolos SFTP y FTP.
✨ Funcionalidades
- 🔐 Conexión segura — Soporta SFTP (recomendado) y FTP. Las contraseñas se guardan cifradas en el keychain del sistema operativo, nunca en texto plano.
- ⚡ Conexión persistente — Se conecta automáticamente al servidor activo al iniciar VS Code. Las operaciones son inmediatas sin reconectar cada vez.
- 🖥️ Panel de servidores — Interfaz gráfica para agregar, editar y eliminar servidores con formulario en 2 pasos.
- 🗂️ Explorador de carpetas remoto — Navega las carpetas del servidor para seleccionar la ruta raíz del proyecto sin escribirla manualmente.
- ↑ Subir archivos y carpetas — Sube archivos individuales o carpetas completas al servidor remoto.
- ↓ Descargar archivos y carpetas — Descarga y sobrescribe archivos locales con la versión del servidor.
- ⇄ Comparar archivos — Compara tu archivo local con la versión remota usando el diff nativo de VS Code.
- 🔄 Múltiples servidores — Configura tantos servidores como necesites (producción, desarrollo, staging) y cambia entre ellos desde la barra de estado.
⚙️ Cómo configurar un servidor
- Abre el panel con
Ctrl+Shift+P → SFTP Male: Abrir panel de servidores
- Ve a la pestaña Nuevo servidor
- Completa el Paso 1 — Conexión: nombre, protocolo, host, puerto, usuario y contraseña
- Haz clic en Siguiente → — la extensión verifica la conexión automáticamente
- Si la conexión es exitosa, en el Paso 2 — Mappings: selecciona la carpeta local con el botón Explorar y navega las carpetas del servidor para seleccionar la carpeta remota
- Haz clic en Guardar servidor
⚠️ Se recomienda usar SFTP siempre que el servidor lo permita. FTP no cifra los datos en tránsito.
🖱️ Cómo usar
Desde el explorador de archivos (clic derecho):
- Clic derecho en un archivo →
Subir archivo al servidor / Descargar archivo del servidor / Comparar archivo con remoto
- Clic derecho en una carpeta →
Sincronizar carpeta completa
Desde el editor (clic derecho en el archivo abierto):
- Clic derecho →
Subir archivo al servidor / Descargar archivo del servidor / Comparar archivo con remoto
Desde la paleta de comandos (Ctrl+Shift+P):
SFTP Male: Subir archivo al servidor
SFTP Male: Descargar archivo del servidor
SFTP Male: Comparar archivo con remoto
SFTP Male: Sincronizar carpeta completa
SFTP Male: Abrir panel de servidores
SFTP Male: Seleccionar servidor activo
⌨️ Atajos de teclado
| Acción |
Windows / Linux |
Mac |
| Subir archivo |
Shift+Alt+U |
Shift+Alt+U |
| Descargar archivo |
Shift+Alt+D |
Shift+Alt+D |
| Comparar con remoto |
Shift+Alt+C |
Shift+Alt+C |
Los atajos son configurables desde File > Preferences > Keyboard Shortcuts.
🔒 Seguridad
| Dato |
Dónde se guarda |
| Host, puerto, usuario, rutas |
Settings globales de VS Code (fuera del proyecto) |
| Contraseña |
Keychain cifrado del sistema operativo |
| Clave privada SSH (ruta) |
Settings globales de VS Code |
La configuración nunca se guarda dentro del proyecto, por lo que no existe riesgo de exponer credenciales en un repositorio git.
⚙️ Configuración avanzada
Los servidores se almacenan en los settings globales de VS Code. Puedes editarlos directamente en settings.json:
{
"sftpMale.activeServer": "Producción",
"sftpMale.servers": [
{
"name": "Producción",
"protocol": "sftp",
"host": "190.160.1.10",
"port": 22,
"username": "admin",
"remotePath": "/var/www/html",
"localPath": "/home/usuario/proyecto"
},
{
"name": "Desarrollo",
"protocol": "sftp",
"host": "dev.miservidor.com",
"port": 22,
"username": "admin",
"remotePath": "/var/www/dev",
"localPath": "/home/usuario/proyecto"
}
]
}
📄 Licencia
MIT
🇬🇧 English
SFTP Male is a Visual Studio Code extension that allows you to synchronize files with remote servers securely, supporting SFTP and FTP protocols.
✨ Features
- 🔐 Secure connection — Supports SFTP (recommended) and FTP. Passwords are stored encrypted in the OS keychain, never in plain text.
- ⚡ Persistent connection — Automatically connects to the active server when VS Code starts. Operations are instant without reconnecting each time.
- 🖥️ Server panel — Graphical interface to add, edit and delete servers with a 2-step form.
- 🗂️ Remote folder browser — Browse server folders to select the project root path without typing it manually.
- ↑ Upload files and folders — Upload individual files or entire folders to the remote server.
- ↓ Download files and folders — Download and overwrite local files with the server version.
- ⇄ Compare files — Compare your local file with the remote version using VS Code's native diff.
- 🔄 Multiple servers — Configure as many servers as you need (production, development, staging) and switch between them from the status bar.
- Open the panel with
Ctrl+Shift+P → SFTP Male: Abrir panel de servidores
- Go to the Nuevo servidor tab
- Complete Step 1 — Connection: name, protocol, host, port, username and password
- Click Siguiente → — the extension verifies the connection automatically
- If the connection is successful, in Step 2 — Mappings: select the local folder using the Explorar button and browse the server folders to select the remote folder
- Click Guardar servidor
⚠️ It is recommended to use SFTP whenever the server supports it. FTP does not encrypt data in transit.
🖱️ How to use
From the file explorer (right-click):
- Right-click a file →
Subir archivo al servidor / Descargar archivo del servidor / Comparar archivo con remoto
- Right-click a folder →
Sincronizar carpeta completa
From the editor (right-click on open file):
- Right-click →
Subir archivo al servidor / Descargar archivo del servidor / Comparar archivo con remoto
From the command palette (Ctrl+Shift+P):
SFTP Male: Subir archivo al servidor
SFTP Male: Descargar archivo del servidor
SFTP Male: Comparar archivo con remoto
SFTP Male: Sincronizar carpeta completa
SFTP Male: Abrir panel de servidores
SFTP Male: Seleccionar servidor activo
⌨️ Keyboard Shortcuts
| Action |
Windows / Linux |
Mac |
| Upload file |
Shift+Alt+U |
Shift+Alt+U |
| Download file |
Shift+Alt+D |
Shift+Alt+D |
| Compare with remote |
Shift+Alt+C |
Shift+Alt+C |
Shortcuts are configurable from File > Preferences > Keyboard Shortcuts.
🔒 Security
| Data |
Where it's stored |
| Host, port, username, paths |
VS Code global settings (outside the project) |
| Password |
OS encrypted keychain |
| SSH private key path |
VS Code global settings |
The configuration is never stored inside the project, so there is no risk of exposing credentials in a git repository.
⚙️ Advanced configuration
Servers are stored in VS Code global settings. You can edit them directly in settings.json:
{
"sftpMale.activeServer": "Production",
"sftpMale.servers": [
{
"name": "Production",
"protocol": "sftp",
"host": "190.160.1.10",
"port": 22,
"username": "admin",
"remotePath": "/var/www/html",
"localPath": "/home/user/project"
},
{
"name": "Development",
"protocol": "sftp",
"host": "dev.myserver.com",
"port": 22,
"username": "admin",
"remotePath": "/var/www/dev",
"localPath": "/home/user/project"
}
]
}
📄 License
MIT