how to force accept only ssl connections in vsftpd?

If you set "force_local_logins_ssl=YES" then your clients will be required to use an FTP client that supports AUTH TLS/SSL in order to connect. If you leave it at "NO" then people can connect securely or insecurely.

Source

All you need to do is change that setting in /etc/vsftpd.conf or in /etc/vsftp/vsftpd.conf; depending on your distro, the .conf file should be on of those 2 places. Then all you should need to do is restart vsftpd daemon as so:

vsftpd restart

EDIT

You may also need to set ssl_enable=YES for this to take effect (as pointed out by Tegran in the comments)