Encrypting a shell script

Im looking for a FREE way to encrypt a shell script so that it cant be read but will still be able to be executed. Ive tried shc but i get an error:
 shc -f scriptname.sh
./scriptname.sh.x

./scriptname.sh.x has expired
Please contact your provider
linuxpigAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

unSpawnCommented:
The "has expired. Please contact your provider." informational message just means an an expiration date was set and says nothing about the License of Shc, the generic shell script compiler (http://www.datsi.fi.upm.es/~frosal/). (Please note obfuscating a shell script does not keep users with sufficient access rights from retrieving the password/passphrase anyway.)
0
gheistCommented:
Binary is more protected - it does not need read access for execution, but anyway - trust models serve better than storing passwords.
0
linuxpigAuthor Commented:
Well, its not passwords in the script im looking to protect at this time, although for furture reference i may need that. But Unspawn, i received that message on a script i wrote, right after i downloaded the shc gz file, untarred it, ran make, make install and then ran shc -f script.sh. I also tried shc -r -f script.sh and shc -r -T -f script.sh.
So i wondered if there was something wrong with the gz file i downloaded, but it did this after re-downloading the gz file. So i ask if there is another way to do this, encrypting shell scripts, or if there is something im doing wrong with shc.
Thanks you!
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

ai_ja_naiCommented:
>encrypt a shell script so that it cant be read but will still be able to be executed
Why don't you just get rid of read and write permissions for everybody?

chmod go-rw shellscript.sh
0
gheistCommented:
read permission is essential for executing shell script. also it cannot have suid bit.

have a look at sudo option - a protected user dir containing unsafe scripts, and users allowed only to call scripts, not read.
0
linuxpigAuthor Commented:
Permission and sudo wont work here as this script will be used in other servers in the future, so an actual encryption will have to work. As i have said, shc look like it may be the solution but im having issues with it.
 
So if someone know how to resolve it or knows of another way, please let me know.
0
gheistCommented:
Trust scheme like Kerberos.
"encrypted" which decrypts in memory image is piece of cake to snoop.
0
unSpawnCommented:
>So i wondered if there was something wrong with the gz file i downloaded
Probably something wrong with how you executed it. It works as advertised: 'echo -en '#!/bin/sh\necho hello world!\nexit 0\n' > match && ./shc -v -f match -e 01/12/2010 && ./match.x'.
0
linuxpigAuthor Commented:
Can you give me the steps on how/where you downloaded it, untarred it and then executed it, this way i can make sure the instructions im using on the internet arent faulty
0
unSpawnCommented:
The download page is what I posted in my first comment. If I'm not mistaken the tarball comes with a ready-to-run binary "shc". Delete it, then run 'make clean && make'. The example command to verify it runs OK I have posted in my second comment.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.