MacOS – Connecting to FTP, directory seems to be blank

ftpmacos

I need to transfer some files into a guest computer in VirtualBox, and I think FTP would be a good way, but am having trouble connecting the two "computers".

I tried running:

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

then running:

ifconfig | grep "inet "

and grabbing the address returned that wasn't 127.0.0.1.

I even downloaded the FTPD Enable app, but when I visit ftp://192.168.1.119/ in a browser it's just an empty directory.

Is there a setting in Preferences -> Sharing I need to set, or is the FTP leading to a directory somewhere that might just be empty?

When going to higher level directories, (ftp://192.168.1.119/../../../../../../../../../), they all look the same.

I wouldn't think it should be necessary to install OSX Server for this.

Best Answer

Okay so to move files btwn host and guest (virtualbox) i was able to set up ftp on the host as noted above and access the host from the guest either via browser by doing:

ftp://username:password@192.168.1.119

Substituting username and password with my user/admin username and password.

OR (even better) simple from the command line:

$ ftp 192.168.1.119
Connected to 192.168.1.119.
220 192.168.1.119 FTP server (tnftpd 20100324+GSSAPI) ready.
Name (192.168.1.119:username): my_username
331 User my_username accepted, provide password.
Password:
User my_username logged in.
Remote system type is UNIX.
Using binary mode to transfer files.

The the commands within the ftp interface are mostly quite similar to bash/unix commands.

ftp> cd Sites/mzoo
250 CWD command successful.
ftp> cd mglitch
250 CWD command successful.
ftp> ls
500 Illegal PORT command rejected
ftp: bind: Address already in use

Hey! What happened there? We have to go into passive mode:

ftp> passive
Passive mode on.
ftp> ls
227 Entering Passive Mode (192,168,1,119,194,210)
150 Opening ASCII mode data connection for '/bin/ls'.
total 1
-rw-r--r--   1 my_username  staff  12292 Jun 25 21:45 .DS_Store
rw-r--r--   1 my_username  staff    252 Jun  5 15:13 .htaccess

get will retrieve a single file and wget will get files matching request. for example:

ftp> lcd audio # changing to local directory "audio"
Local directory now /home/username/bla-bla-audio
ftp> mget *.mp3

Here's a list if basic ftp commands.

Command to turn off ftp on the host is:

sudo launchctl unload /System/Library/LaunchDaemons/ftp.plist