VSFTPD, 553 Could not create file. - permissions?

Could you try this

chown -R ftpusername /var/www/html

There are two likely reasons that this could happen -- you do not have write and execute permissions on the directories leading to the directory you are trying to upload to, or vsftpd is configured not to allow you to upload.

In the former case, use chmod and chown as appropriate to make sure that your user has these permissions on every intermediate directory. The write bit allows the affected user to create, rename, or delete files within the directory, and modify the directory's attributes, whilst the read bit allows the affected user to list the files within the directory. Since intermediate directories in the path also affect this, the permissions must be set appropriately leading up to the ultimate destination that you intend to upload to.

In the latter case, look at your vsftpd.conf. write_enable must be true to allow writing (and it is false by default). There is good documentation on this configuration file at man 5 vsftpd.conf.

The command ftp put /path/to/local_file doesn't work with vsftpd. Try the following:

ftp put /path/to/local_file remote_file_name 

You may choose any name you wish for the remote_file_name, but you must specify one.