您的位置:首页 > 其它

ssh、scp免秘钥远程执行命令:expect

2017-11-26 22:42 274 查看
首先安装expect
# yum -y install expect
命令格式
# ./expect IP COMM #expect是独立的工具,所以不能用sh来执行
#!/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssh scp 免秘钥