9月 162008
Apache に SSH パスワードなし認証をさせるメモ。
特定のユーザでリモート先のスクリプトなどをWEBから操作したいとき便利。
前提として Apache が /usr/local/apache にインストールと、sudo の設定がされてる。
専用のApacheユーザを作成する。すでに存在する場合は、飛ばす。
$ groupadd apache $ useradd -g apache -d /home/apache -s /sbin/nologin apache
httpd.conf を編集し、UserとGroupを書き換える。
$ cd /usr/local/apache/conf $ sudo vi httpd.conf User apache Group apache
パスワード無しSSHを行うための準備をする。
$ cd /home/apache $ sudo -u apache ssh-keygen -t dsa -N ” -q $ sudo scp ./ssh/id_dsa.pub user@host: $ ssh user@host ‘cat id_dsa.pub >> .ssh/authorized_keys’ $ sudo -u apache ssh user@host yes
Apache を起動。
$ cd /usr/local/apache/bin $ sudo ./apachectl start
実験用のスクリプトを書く。(今回は、PHPで実験)
$ cd /usr/local/apache/htdocs $ sudo vi index.php <?php system( “ssh user@host ‘ls’” ); ?>
書いたスクリプトにアクセスして、リモート先の ls 結果が表示されれば成功。
関連エントリー:
Mac Leopard Apache + MySQL + PHP






