您现在的位置是:网站首页>技术文章技术文章
Mac iTerm2使用 expect 脚本实现 ssh 登录跳板机后登录指定服务器
左鹏03-12 21:57:01【技术文章】2,249人已围观
简介expect 脚本 #!/usr/bin/expect set host [lindex $argv 0] # 设置一个变量,传入的参数,0 表示第一个参数,同时也为了复用,毕竟不只是管理一台服务器 set TERMSERV 跳板机IP set USER 跳板机用户名 set PASSWORD 跳板机密码 set UATUN 内网服务
expect 脚本
#!/usr/bin/expect
set host [lindex $argv 0]
# 设置一个变量,传入的参数,0 表示第一个参数,同时也为了复用,毕竟不只是管理一台服务器
set TERMSERV 跳板机IP
set USER 跳板机用户名
set PASSWORD 跳板机密码
set UATUN 内网服务器用户名
set UATPWD 内网服务器密码
# 登录跳板机
spawn ssh -l $USER $TERMSERV
# expect是expect环境的一个内部命令,判断上一个指令输入之后的得到输出结果是否包含""双引号里的字符串,比如后面的"*password:*",表示上一个输出结果包含password:*通配符表示前后可以是任意字符
#类似于编程中的 switch语句,exp_continue相当于 continue
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$PASSWORD\r" }
}
# 登录内网
expect "*$USER@*" {send "ssh -l $UATUN $host\r"}
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$UATPWD\r" }
}
interact
# 执行完成后保持交互状态,把控制权交给控制台
-
将脚本保存成一个文件,例如 shell.exp
-
可执行权限,chmod +x shell.exp
配置 iTerm2
send text at start: /Users/zuo/ssh/shell.exp [内网IP]
点击排行
本栏推荐
猜你喜欢
站点信息
- 建站时间:2018-09-18
- 网站程序:Spring Boot
- 主题模板:《今夕何夕》
- 文章统计:104条
- 微信公众号:扫描二维码,关注我们