also sprach Bjarne S . Nćss (on Sat, 10 Mar 2001 01:40:17PM +0100): > This is quite simple. Just run ssh-keygen and an empty passphrase. > By default the key generated will be put in .ssh/identify.pub copy > the line into the .ssh/authorized_keys into the home folder of > target machine, and you should be able to ssh and scp into the > target machine without password.
except that it won't work with cron because ssh needs a controlling tty for rsa or dsa authentication. the only way around this i found is to write a script which implements its own cron. i have one attached which tunnels my fetchmail through ssh. same process (and yes, i know fetchmail has a precommand, but this is better...) martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" [EMAIL PROTECTED] -- "if you stick a stock of liquor in your locker, it is slick to stick a lock upon your stock. or some joker who is slicker, will trick you of your liquor, if you fail to lock your liquor with a lock."
#!/bin/sh STATEDIR="$HOME/var/state" SLEEPFILE="$STATEDIR/`basename $0`.sleep" PIDFILE="$STATEDIR/`basename $0`.pid" UPDATEINTERVAL=180 source $HOME/.zshenv source $ZSHDIR/function/ssh gettunnelpid() { echo `ps e -C ssh | grep -e "-L $1" | awk '{printf \$1}'` } maketunnel() { killtunnel $1 echo -n "creating tunnel $1... " sshtunnel $1 $2 110 2> /dev/null [ $? != 0 ] && return 1 echo "success (pid `gettunnelpid $1`)." return 0 } killtunnel() { PID=`gettunnelpid $1` [ -z "$PID" ] && return 0 echo -n "killing tunnel $1 (pid $PID)... " while [ ! -z "$PID" ]; do kill -TERM $PID PID=`gettunnelpid $1` sleep 1 done echo "done." } waitfor() { DATE=`date -d "now + $1 seconds"` touch -d "$DATE" $SLEEPFILE echo "sleeping until $DATE..." while true; do sleep 5 [ ! -f "$SLEEPFILE" ] && break [ `date +"%s"` -gt `stat -t $SLEEPFILE | cut -d" " -f12` ] \ && rm -f $SLEEPFILE done } start() { if [ -f $PIDFILE ]; then kill -TERM `cat $PIDFILE` fi echo $$ > $PIDFILE } finish() { echo "terminating... " rm -f $PIDFILE rm -f $SLEEPFILE killtunnel 11000 exit 0 } trap finish INT QUIT KILL TERM STOP start while true; do maketunnel 11000 diamond.madduck.net fetchmail -qf ~/.fetchmailrc 2> /dev/null killtunnel 11000 waitfor $UPDATEINTERVAL done finish