ssh、scp免秘钥远程执行命令:expect,sshscp
ssh、scp免秘钥远程执行命令:expect,sshscp
首先安装expect
# yum -y install expect
命令格式
# ./expect IP COMM #expect是独立的工具,所以不能用sh来执行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/usr/bin/expect
set timeout -1 #超时时间默认10秒,如果你要执行一条很漫长的命令,那么这个很有必要,这里将超时时间设置为永不超时
set COMMADN1 [lindex $argv 0] #传参变量,这里引用脚本后面的第一个参数
set COMMADN2 [lindex $argv 1] #传参变量,这里引用脚本后面的第二个参数
spawn ssh -p 22 $COMMADN1 $COMMADN2 #可以将ssh变成scp命令免秘钥远程拷贝
expect {
"yes/no" {send "yes\r" ;exp_continue} #询问yes/no的时候自动输入yes
"password:" {send "123456\r" } #询问密码时自动输入定义好的密码123456
}
expect eof
|
评论暂时关闭