Maybe your .bashrc or similar prints something to the console? This breaks scp.
e.g. if .bashrc or something it calls contains:
echo "Welcome to the server"
Then scp will just print "Welcome to the server" and not even attempt to copy the file.
A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.