아주 유용하게 쓰고 있는 자동접속 script.
전문가가 ssh_stdin 을 개발해 주셔서, 이를 이용해 쓰고 있다.
===================================자동접속 + 작업 SCIRPT ==============
#!/bin/sh
PASSWD="myPasswd!"
curDir=$(pwd)
SSH_STDIN=$curDir/ssh_stdin
sshOption="-T -o StrictHostKeyChecking=no -o ConnectTimeout=1 -o NumberOfPasswordPrompts=1"
SVR_LIST="172.25.49.135 172.25.49.136"
mpList=$(eval echo $SVR_LIST)
for i in $mpList
do
echo "---------"$i
echo $PASSWD | $SSH_STDIN ssh $sshOption "root@"$i "ps -ef|grep redis"
echo $PASSWD | $SSH_STDIN ssh $sshOption "root@"$i "nstatus"
#scp를 하고 싶을때는 .. -T옵션 빼고.. $1에 파일이름 줘서.. 아래처럼. 하면 된다.
echo $PASSWD | $SSH_STDIN scp $sshOption $1 "root@"$i":"$1
done
=============================ssh_stdin내용=================================
#!/bin/bash
if [ -n "$SSH_ASKPASS_PASSWORD" ]; then
cat <<< "$SSH_ASKPASS_PASSWORD"
elif [ $# -lt 1 ]; then
echo "Usage: echo password | $0 <ssh command line options>" >&2
exit 1
else
read SSH_ASKPASS_PASSWORD
export SSH_ASKPASS=$0
export SSH_ASKPASS_PASSWORD
[ "$DISPLAY" ] || export DISPLAY=dummydisplay:0
# use setsid to detach from tty
# exec setsid "$@" </dev/null
exec setsid "$@"
fi