#安装sshpasssshpass
下载地址:http://sourceforge.net/projects/sshpass/
下载为一个 tar.gz的压缩包。
$ tar -zxvf sshpass-1.05.tar.gz
$ cd sshpass-1.05
$ ./configure --prefix=/opt/sshpass
#指定安装目录
$ make
$ make install
$ cp /opt/sshpass/bin/sshpass /usr/bin/
安装完成
#查看帮助
sshpass -h
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
-f filename Take password to use from file
-d number Use number as file descriptor for getting password
-p password Provide password as argument (security unwise)
-e Password is passed as env-var "SSHPASS"
With no parameters - password will be taken from stdin
-h Show help (this screen)
-V Print version information
At most one of -f, -d, -p or -e should be used
#!/bin/bash
cd $(dirname $0)
source ./config.sh
date=`date +%Y-%m-%d`
#上传DUMP脚本到服务端
sshpass -pyour_pwd scp -P22 ./dump.sh your_user@192.168.1.10:~/
#-o StrictHostKeyChecking=no 避免第一次登录出现公钥检查。
sshpass -pyour_pwd scp -o StrictHostKeyChecking=no -P22 ./dump.sh your_user@192.168.1.10:~/
#登陆到服务端地址,执行DUMP脚本,将执行结果写入本地文件
sshpass -pyour_pwd ssh -p22
your_user @192.168.1.10 "sh ~/dump.sh" >local_result.txt
#使用文件中的密码
sshpass -f pwd.file ssh -p22
your_user@192.168.1.10 "sh ~/dump.sh" >>local_result.txt
#从环境变量(SSHPASS)读取密码
sshpass -e ssh -p22 your_user@192.168.1.10 "sh ~/dump.sh" >>local_result.txt