Tengo muchos problemas con mi Mac OS X. Sólo se puede acceder al sistema a través de SSH, pero no con FTP ni con SMB. Así que intenté concentrarme en FTP, parece más fácil de depurar y puede ser un problema para ambos servicios.
Primero habilité ftpd con:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
Luego intento ftp. Pero nada. Recibí el error estándar: Se agotó el tiempo de espera de la operación.
Después de eso, lo intenté nuevamente e hice un tcpdump en la MacBook Pro. Me parece bien:
tdmacpro:~ root# tcpdump port 21
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 65535 bytes
17:32:53.539323 IP 192.168.0.58.49191 > 192.168.0.2.ftp: Flags [S], seq 2091779555, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 271391148 ecr 0,sackOK,eol], length 0
Entonces los paquetes llegan al MacBook Pro, pero no responde.
Después de eso, creé una nueva máquina virtual en mi MacBook Pro para asegurarme de que ningún interruptor causara problemas. Entonces el cliente ftp estaba en mi máquina virtual. Pero el mismo error.
Después de eso, probé con un usuario ftp@MBP_IP, nuevamente el mismo error.
Después de eso desactivé fptd con
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
e inicié el ftpd manualmente con
/usr/libexec/ftpd -d -D -l -U
otra vez el mismo problema.
Luego usé otra terminal e hice un:
ftp localhost
Esto funciona. Entonces creo que el ftpd está configurado correctamente. Pero también lo controlé ftp.plist
con una nueva instalación. El mismo contenido.
Entonces, ¿hay alguien por ahí que tenga más sugerencias sobre cómo aislar el problema o cómo resolverlo?
Respuesta1
Estás intentando conectarte a través de esto:
ftp localhost
Cuando creo que quieres sftp
cuál es la variante SSH ftp
que todos usan hoy en día; El ftp que no es SSH es demasiado vulnerable. Entonces prueba esto en su lugar:
sftp localhost
O esto:
sftp user@localhost
Respuesta2
Entonces resolví el problema. Había otro archivo en el directorio del usuario LaunchDaemons. Este archivo tenía modificadores de línea de comando de inicio incorrectos. Después de eliminar este archivo, el acceso funcionó.