多くの人は Shell スクリプトを書いて他の人に使ってもらいたいと思っていますが、ソースコードは公開したくないため、Shell スクリプトを暗号化する必要があります。Linux には、非常に使いやすい Shell 暗号化コンポーネント shc があります。

今回ご紹介するのは、shc のワンクリックインストールスクリプトとコンパイルインストールの手順です。いろいろ試すのが好きな方は自分でコンパイルしてもよいですし、ワンクリックインストールスクリプトは面倒なことが苦手な方や初心者向けです。前置きはこれくらいにして、さっそくスクリプトを見てみましょう!

インストールスクリプト

サーバーに SSH でログインし、以下のコマンドを直接実行してください。1 行だけで完了します。

wget -qO- https://shc-install-script-url | bash

bash: wget: command not found というエラーが表示された場合は、先に以下を実行してください。

yum -y install wget

その後、ワンクリックインストールスクリプトを再度実行してください。

コンパイルインストール

root ディレクトリでコンパイルする必要があります。

yum -y install gcc gcc-c++
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
tar vxf shc-3.8.7.tgz
mkdir -p /usr/local/man/man1
cd shc-3.8.7
make test && make strings && make install

使用方法

例:xxxx.sh を暗号化する場合:

shc -r -v -f xxxx.sh
  • -r:スクリプトを他のオペレーティングシステムでも使用できるようにする
  • -v:暗号化の過程を表示する
  • -f:後ろに暗号化するファイルを指定する

実行すると、2 つのファイルが生成されます。

  • xxxx.sh.x:バイナリファイルです。名前を変更した後、chmod +x xxxx.sh で権限を付与すれば実行できます。
  • xxxx.sh.x.c:C 言語ファイルです。使用する必要はないため、削除できます。