Apache + SSH パスワード無し認証
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
書いたスクリプトにアクセスして、リモート先の ls 結果が表示されれば成功。