It is the way MySQL authenticates and current users installed.
When you run this command
you quickly learn that USER() tells you how mysqld sees you trying to login and CURRENT_USER() tells you how mysqld allowed you to login. I discussed this 3 years ago in Why does OS login not exist in the user table, but I can still login to MySQL?
My guess is that whatever CURRENT_USER() is in mysql.user has no password.
You can run
SELECT CONCAT(QUOTE(user),QUOTE(host)) userhost,password FROM mysql.user; to see your users. You might note that password is blank.
To solve your issue, you must create a remote username and password.