MY only suggestion: create the same username on the local box. Then
sftp hostname
will work
unix is not picky about characters in filenames or user names, but trying to use those wierd names in scripts or commands gives you heartburn. Your sysadmin should know better.
mmm. edit:
I think it an ssh parsing problem. It expects the first (from the rear) @ to delimit hostname. I can't make it work here either.