To synchronize the files without VPN or (s)FTP, you could use:
- The version control system of your preference: Have a production server branch which includes everything needed (compiled dll's too), commit from your workstation, and checkout from your production server. You could automate the deployment on your server by having a script which checks every x minutes whether there's a new revision in the deployment branch.
- Third party tools such as DropBox allow you easily to synchronize folders across computers on the internet. You'll have to install their client though.
Beware of database changes: When automating web site deployment like this, you may want to have database migration scripts executing somewhere in the process.
You may also want the web application to be reloaded after each deployment, so you should make sure that the timestamp of the web.config changes.