Advertisement
bnghtz

ssh host user pass (expect)

Dec 1st, 2016
561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. # ~/.aliases
  2. function ssh2 {
  3. host=$1
  4. user=$2
  5. pass=$3
  6. if [ -z "$host" -o -z "$user" -o -z "$pass" ];then
  7. echo $0 host user pass
  8. else
  9. expect="~/bin/ssh.ex $host $user $pass"
  10. n=$(( ( RANDOM % 4) + 2457 ))
  11. HOST=`echo $HOST | tr '[:upper:]' '[:lower:]'`
  12. if [[ $HOST =~ jumphost ]];then
  13. $expect
  14. else
  15. ssh -A -t jumphost$n $expect
  16. fi
  17. fi
  18. }
  19.  
  20. # ~/bin/ssh.ex
  21. #!/usr/bin/expect -f
  22. # ./ssh.exp password 192.168.1.11 id
  23. set pass [lrange $argv 0 0]
  24. set server [lrange $argv 1 1]
  25. set name [lrange $argv 2 2]
  26.  
  27. spawn ssh $name@$server
  28. match_max 100000
  29. expect "*?assword:*"
  30. send -- "$pass\r"
  31. send -- "\r"
  32. interact
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement