shell脚本之 对于 非ssh expect 免密登陆问题

背景:一般为了安全hadoop生产集群与公司其他服务器不能ping,不能互相ssh免密登录的。绝大多数是hadoop集群服务器可以有账号密码可以登录到其他服务器,但其他服务器,不可以登录到公司hadoop集群服务器。业务需要 从一台非业务服务器上scp拉取数据,这时用到 expect远程登录

先看有无 安装  rpm -qa |grep expect

有略过此步骤,没有 安装  yum install expect

注意点:脚本是  业务_功能.exp

脚本:

#!/usr/bin/expect 
#默认是秒,-1是一直保持连接
#set timeout 1000
set passwd "xxxx"
spawn scp -r work@10.68.9.30:/home/work/thunderbird_loaded /opt/user/work/thunderBird/

#如果遇到提示
expect "*password:*"

#则 \n回车确认
send "$passwd\n"

#如果服务器你的账号是普通用户则  ]$,超级用户是 ]# ,这里用]*通配符
expect "]*" 

#这里我这业务完了遇到]*就退出,不能一直让它挂着。
send "exit\r"
expect eof

 

例二:

#!/usr/bin/expect 
#defalut s
#set timeout 1000
set passwd "xxxxxx"

#登录
spawn ssh work@10.68.9.30
expect "*password:*"
send "$passwd\n"
expect "]*" 
send "rm -rf /home/work/thunderbird_loaded/*\n"
expect "]*" 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值