“Expect基础”的版本间的差异
跳到导航
跳到搜索
第1行: | 第1行: | ||
=添加pubkey= | =添加pubkey= | ||
+ | ==多台== | ||
+ | <pre> | ||
+ | cat main | ||
+ | #!/bin/bash | ||
+ | for ip in `cat list` | ||
+ | |||
+ | do | ||
+ | #echo $ip | ||
+ | ./addkey $ip | ||
+ | |||
+ | done | ||
+ | |||
+ | |||
+ | |||
+ | cat addkey | ||
+ | #!/usr/local/bin/expect | ||
+ | #define var | ||
+ | set timeout 17 | ||
+ | # #<==接受第一个参数,赋值host | ||
+ | set host [lindex $argv 0] | ||
+ | set password "P2xMGipLpSG7dA==" | ||
+ | |||
+ | |||
+ | #spawn | ||
+ | spawn ssh-copy-id -i /home/evan/lx/ssh/opspub root@$host | ||
+ | #spawn ssh-copy-id -i /home/evan/.ssh/id_rsa.pub root@$host | ||
+ | #ssh-copy-id -i /home/evan/.ssh/id_rsa.pub [email protected] | ||
+ | |||
+ | #expect | ||
+ | expect { | ||
+ | "*yes/no" { send "yes\r"; exp_continue} | ||
+ | "*password:" { send "$password\r" } | ||
+ | } | ||
+ | #send "exit\r" | ||
+ | expect eof | ||
+ | |||
+ | cat list | ||
+ | 192.168.7.4 | ||
+ | 192.168.7.46 | ||
+ | </pre> | ||
+ | ==单个== | ||
<pre> | <pre> | ||
第21行: | 第62行: | ||
./addkey 18.80.216.19 #这是你的IP | ./addkey 18.80.216.19 #这是你的IP | ||
</pre> | </pre> | ||
+ | |||
=on dovo= | =on dovo= | ||
<pre> | <pre> |
2019年11月12日 (二) 06:28的版本
添加pubkey
多台
cat main #!/bin/bash for ip in `cat list` do #echo $ip ./addkey $ip done cat addkey #!/usr/local/bin/expect #define var set timeout 17 # #<==接受第一个参数,赋值host set host [lindex $argv 0] set password "P2xMGipLpSG7dA==" #spawn spawn ssh-copy-id -i /home/evan/lx/ssh/opspub root@$host #spawn ssh-copy-id -i /home/evan/.ssh/id_rsa.pub root@$host #ssh-copy-id -i /home/evan/.ssh/id_rsa.pub [email protected] #expect expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } #send "exit\r" expect eof cat list 192.168.7.4 192.168.7.46
单个
vi addkey #!/usr/local/bin/expect #SERVERS="101.00.208.197 120.40.043.52 " set timeout 5 set host [lindex $argv 0] spawn ssh-copy-id -i /home/evan/.ssh/id_rsa.pub root@$host #ssh-copy-id -i /home/evan/.ssh/id_rsa.pub [email protected] expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "P2xMGipLpSG7dA==\r" } } expect eof 用法 ./addkey 18.80.216.19 #这是你的IP
on dovo
#!/usr/bin/expect #good on new kali 这个在新的kali 上是ok的 set timeout 30 set sshIP "4.88.1.2" set keypassword "ZdvV" set rootPassword "5D" #spawn ssh -o StrictHostKeyChecking=no -i /root/key evan@$sshIP expect "Enter passphrase" send "$keypassword\r" expect "]$" send "sudo -i\r" expect "xxxxx" send "$rootPassword\r" expect "]#" ## run command #send "cat /root/1 && echo 'test was ok .';exit\r" #send "bash /data/tmp/dbins && echo 'dbins was ok.';exit\r" #expect "52wan" #send "exit\r" #expect eof {exit 0} interact #!/usr/bin/expect # on old kali 这个在老的kali set timeout 30 set sshIP "4.88.1.2" set keypassword "Zd" set rootPassword "5D" spawn ssh -o StrictHostKeyChecking=no -i /home/key evan@$sshIP expect "Enter passphrase" send "$keypassword\r" expect "52wan" send "sudo -i\r" expect "password for 52wan:" send "$rootPassword\r" expect "]#" ## run command #send "cat /root/1 && echo 'test was ok .';exit\r" #send "bash /data/tmp/dbins && echo 'dbins was ok.';exit\r" #expect "52wan" #send "exit\r" #expect eof {exit 0} interact