You need something more complex than just find:
#!/bin/bash
remote=user@host:/path/to/dest/
for file in $(find . -type f); do
echo scp $file ${remote}$(echo $file | sed 's:^\.*/::')
done
And you can always condense that down to:
for file in $(find . -type f); do echo scp $file user@host:/path/to/dest/$(echo $file | sed 's:^\.*/::'); done
Just remove the echo
when you're sure that it will run as you expect.
Random example output:
scp ./cron/test.txt user@host:/path/to/dest/cron/test.txt
scp ./cron/spamproc/rfc822_addresses.php user@host:/path/to/dest/cron/spamproc/rfc822_addresses.php
scp ./cron/spamproc/mime_parser.php user@host:/path/to/dest/cron/spamproc/mime_parser.php
scp ./cron/spamproc/spamproc.php user@host:/path/to/dest/cron/spamproc/spamproc.php
scp ./cron/spamproc/class.imap.php user@host:/path/to/dest/cron/spamproc/class.imap.php
scp ./count_imap.sh user@host:/path/to/dest/count_imap.sh