mac使用expect自動登陸跳版機

痛點:MAC登陸跳版機,每次都要輸入用戶名和密碼選擇服務器後,比較繁瑣。redis

解決:發現expect很好用,share一下,下面是工做中真實使用的腳本。服務器

前提:安裝expectssh

 1 # expect交互的腳本
 2 #!/usr/bin/expect
 3 
 4 # 鏈接跳板機
 5 spawn ssh -p2222 XXX@jump.XXX.jms
 6 
 7 # 若是返回的內容包含*yes/no,發送yes而且換行
 8 expect {
 9     "*yes/no" {send "yes\r"; exp_continue}
10     "*password:" {send "zxcv1234\r"}
11 }
12 # 選擇服務器
13 expect {
14     "*Opt>" {send "***-test001\r"}
15 }
16 # 服務器切換用戶
17 expect {
18     "*test-user@***-test001*" {send "sudo su - exuser\r"}
19 }
20 # 鏈接接redis
21 expect {
22     "*exuser@***-test001*" {send "redis-cli -h redis的IP地址\r"}
23 }
24 # 輸入鑑權
25 expect {
26     "redis的IP地址:6379" {send "auth 123456\r"}
27 }
28 # 選擇redis的1庫
29 expect {
30     "redis的IP地址:6379" {send "select 1\r"}
31 }
32 expect {
33     "redis的IP地址:6379*" {send "keys v*\r"}
34 }
35 # 保持在遠端  
36 interact
相關文章
相關標籤/搜索