Expect script登录remote server

由于所在实验室的server实在是太多了…而且一般中间还有两个jumpserver…这个人又实在是太懒了,就瞎扣jio写了个差不多能用的expect脚本来方便登录各个服务器

#!/usr/bin/expect

set timeout -1
send_user "Log into XXX Remote Server\n"

### Prepare the variable
set ECN_USER coolguy
set XXUNIV_JUMPER_SERVER xxuniv.edu
set XLAB_JUMPER_SERVER xlab_server

send_user "\nEnter your target server: "
send_user "list your server here"
expect_user -re "(.*)\n"
set TARGET_SERVER "$expect_out(1,string)"

stty -echo
send_user "\nEnter your password: "
expect_user -re "(.*)\n"
set PASSWORD "$expect_out(1,string)"
send_user '\n'
stty echo

### Log into the jump server 1
spawn ssh -X $ECN_USER@$XXUNIV_JUMPER_SERVER
expect {
  "*password:"
  {send "$PASSWORD\r"}
}

### Log into the jump server 2
expect "*$ECN_USER@xxuniv*"  # This check line could be deleted

send "ssh -X $ECN_USER@$XLAB_JUMPER_SERVER\r"
expect {
  "*password:"
  {send "$PASSWORD\r"}
}

if {! [regexp -nocase "mjis2050ln6" $TARGET_SERVER]} {
  ### Log into the target server
  expect "*$ECN_USER@xlab*"  # This check line could be deleted

  send "ssh -X $ECN_USER@$TARGET_SERVER\r"
  expect {
    "*password:"
    {send "$PASSWORD\r"}
  }
}

interact

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值