微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自动登录服务器shell脚本

#!/bin/bash

#Description: auto login the Remote Server
#Author:majinxu
#Version:1.0
#CreateTime:2018-3-012 18:34:41

user="zhangsan"
passwd="123456"

host_list=( "st1.qa.bj2.yongche.com"
"st2.qa.bj2.yongche.com"
"st3.qa.bj2.yongche.com"
)

#seletc the host
select host in ${host_list[@]};
do
break
done

#execute the ssh action
expect -c "
spawn ssh $user@$host
expect {
\"yes\/no\" { send \"yes\n\"; exp_continue}
\"password:\" { send \"$passwd\n\" }
}
interact
"

解释:

  1. expect -c : -c参数跟字符串
  2. spawn ssh $user@$host 连接服务器
  3. expect {
    \"yes\/no\" { send \"yes\n\"; exp_continue}
    \"password:\" { send \"$passwd\n\" }
    }
    输入并接收用户名密码

    "yes/no" { send "yes\n"; exp_continue}
    "password:" { send "$passwd\n" }
    } 转义后的结果
  4. interact 执行完成后保持交互状态,把控制权交给控制台

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐