[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pserver access VS ssh access



佐野@浜松です。

In article <y5aaeubzyzw.fsf@xxxxxxxxxxxxxxxxxxxx>
 私:

> In article <14168.14492.497286.13283E@xxxxxxxxxxxxxxxxxx>
>  Masato Taruishi <taru@debian.or.jp> さん writes:
> 
> > 樽石です。
> > 
> > At Fri, 4 Jun 1999 00:49:01 +0900,
> > Taketoshi Sano <xlj06203@xxxxxxxxxxx> wrote:
> > 
> > > 現在 PPP 接続時に自動スクリプトで CVS update/checkout を
> > > 回しているのですが、ssh 経由だとうまく取り込めていません。
> > > # master の doc と misato の diary
> > 
> > ssh-agent に pass phrase を登録してます?
> 
> はい、ssh-add しています。
> 
> それでコマンドラインから実行する時は問題無く (何もプロンプト
> が出ずに) update されていくのですが、ip-up.d/ 以下のスクリプトから
>  su user -c script で実行すると、ssh-agent につながっていない状態に
> なるんじゃないかと思うのです。root が cron に登録したスクリプトから
> 一般ユーザのスクリプトを実行して SSH 経由で cvs update できるなら、
> 何か方法があるはずだと思うのですが。

 ppp 接続時に自動で起動されるスクリプトに

function setcvs()
{
  i=`ps x|grep ssh-agent|grep -v grep|awk '{ print $1 }'`
  if [ ! -z "$i" ] ; 
    then
      SSH_AGENT_PID="$i"
      j=`expr "$i" - 1`
      SSH_AUTH_SOCK=/tmp/ssh-sano/agent-socket-"$j"
      export SSH_AGENT_PID SSH_AUTH_SOCK;
  fi
}

setcvs;

を入れて、

     if [ ! -z "$SSH_AGENT_PID" ]
       then
         export CVS_RSH=ssh
         cd diary
         /usr/bin/cvs update >>$LOG 2>&1
         cd ..
         /usr/bin/cvs -d :ext:sano@misato.debian.or.jp:/var/cvs checkout diary
#
         cd doc
         /usr/bin/cvs update >>$LOG 2>&1
         cd ..
         /usr/bin/cvs -d :ext:sano@master.debian.or.jp:/var/cvs checkout doc
#
         unset CVS_RSH
     fi

とすることで、何とか ssh 経由の実行もできるようになったようです。

ただ、pserver よりは面倒なので、自分で pserver のアカウントを用意できるなら
自分にとってはそっちのほうが楽かな、という気がします。

ということで、報告でした。

-- 
     #わたしのおうちは浜松市、「夜のお菓子」で有名さ。
    <xlj06203@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)