Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Make .bashrc available to non interactive shells (.sh scripts)
  4. export BASH_ENV=~/.bashrc
  5.  
  6. env=~/.ssh/agent.env
  7.  
  8. loadEnv () {
  9. test -f "$env" && . "$env" >| /dev/null ;
  10. }
  11. startAgent() {
  12. (umask 077; ssh-agent >| "$env")
  13. . "$env" >| /dev/null ;
  14. }
  15. addKeys() {
  16. keys=`find ~/.ssh -name '*_rsa'`
  17. if [ "$keys" ]; then
  18. for i in $keys; do
  19. local identity=`ssh-keygen -lf $i`
  20. ssh-add -l | grep -q "$identity" || ssh-add $i
  21. done
  22. fi
  23. }
  24.  
  25. loadEnv
  26.  
  27. sshState=$(ssh-add -l >| /dev/null 2>&1; echo $?)
  28.  
  29. if [ ! "$SSH_AUTH_SOCK" ] || [ $sshState = 2 ]; then
  30. startAgent
  31. addKeys
  32. elif [ "$SSH_AUTH_SOCK" ] && [ $sshState = 1 ]; then
  33. addKeys
  34. fi
  35.  
  36. unset env
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement