Well, shortly after I wrote about encrypting files with a keyfile / passphrase with gpg people asked about a solution with openssl.
You should prefer to use the gpg version linked above, but if you can't, below is a script offering the same functionality with openssl.
You basically call
crypt_openssl <file> [<files...>] to encrypt
file.aes using the same keyfile as used in the gpg script (
~/.gnupg/mykey001 per default).
crypt_openssl -d <file.aes> [<files.aes...>] will restore the original files from the encrypted AES256 version that you can safely transfer over the Internet even using insecure channels.
Please note that you should feed compressed data to
crypt_openssl whenever you can. So use preferably use it on