Conexión FTP desde Consola
Conexión Inicial
# Linux (recomendado SFTP/SCP):
sftp usuario@tuservidor.com
# Windows (PowerShell/CMD):
ftp ftp.tuservidor.com
Usuario: tu_usuario
Contraseña: ********
Nota: Alternativa GUI: Usa WinSCP (Windows) o FileZilla (multi-plataforma).
Comandos Esenciales
Comando | Función | Ejemplo |
---|---|---|
ls -l |
Listar archivos con detalles | ls -l /public_html |
cd |
Cambiar directorio remoto | cd /var/www |
lcd |
Cambiar directorio local | lcd ~/Descargas |
put |
Subir archivo | put mi_archivo.zip |
get |
Descargar archivo | get backup.sql |
binary |
Modo binario (para ZIP/EXE) | binary |
Nota:
Seguridad: FTP no cifra contraseñas. Usa sftp
o scp
siempre que sea posible.
Modo Pasivo (PASV)
Solución para problemas con firewalls/NAT. En modo pasivo, el cliente inicia ambas conexiones (control y datos).
Activación
# En Linux (lftp):
lftp
> set ftp:passive-mode on
> open ftp.tuservidor.com
# Windows (desde consola FTP):
ftp
> quote PASV
> open ftp.tuservidor.com
Errores Comunes
- Timeout: Asegúrate de que tu firewall permite conexiones salientes al puerto 21.
- Respuesta 227: Indica éxito. Ejemplo:
227 Entering Passive Mode (192,168,1,2,15,87)
.
Guía de Permisos CHMOD: Sistema Numérico
chmod 644 index.html # Owner: lectura+escritura (6), Grupo/Others: solo lectura (4)
chmod 755 carpeta/ # Owner: todos permisos (7), Grupo/Others: lectura+ejecución (5)
chmod 600 config.php # Solo owner puede leer/escribir (6), nadie más (0)
Sistema Simbólico
chmod u=rw,go=r archivo.txt # Equivalente a 644
chmod a+x script.sh # Todos pueden ejecutar (+x)
Nota:
Nunca uses: chmod 777
(permisos totales para cualquiera).
Comandos Útiles
ls -l
: Ver permisos actuales.chown usuario:grupo archivo
: Cambiar propietario (requiere root).
Automatizar Transferencias: método Seguro (Linux)
Crea ~/.netrc
(con permisos 600):
machine tuservidor.com
login tu_usuario
password tu_contraseña
Luego usa:
ftp -i tuservidor.com <<EOF
cd /public_html
put mi_archivo.html
quit
EOF
Prácticas Inseguras (Evitar)
- Contraseñas en scripts (
ftp://user:pass@host
). - Archivos temporales con permisos abiertos.