Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. if [ -z "$SSH_AUTH_SOCK" ] ; then
  2. eval `ssh-agent -s`
  3. ssh-add
  4. fi
  5.  
  6. if [ -z "$SSH_AUTH_SOCK" ] ; then
  7. eval `ssh-agent -s`
  8. ssh-add
  9. fi
  10.  
  11. if [ -n "$SSH_AUTH_SOCK" ] ; then
  12. eval `/usr/bin/ssh-agent -k`
  13. fi
  14.  
  15. trap 'test -n "$SSH_AUTH_SOCK" && eval `/usr/bin/ssh-agent -k`' 0
  16.  
  17. alias ssh='/path/to/ssh-ident'
  18.  
  19. eval `keychain --agents ssh --eval id_rsa`
  20.  
  21. #!/usr/bin/expect -f
  22. spawn ssh-add /home/user/.ssh/id_rsa
  23. expect "Enter passphrase for /home/user/.ssh/id_rsa:"
  24. send "passphrasen";
  25. expect "Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)"
  26. interact
  27.  
  28. if [ ! -S ~/.ssh/ssh_auth_sock ]; then
  29. eval `ssh-agent`
  30. ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
  31. fi
  32. export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
  33. ssh-add -l > /dev/null || ssh-add
  34.  
  35. #!/bin/bash
  36. # This script run a ssh-agent on a sub-shell and automatically ssh-add all keyfiles at once.
  37. # This agent ends when you type `exit` to close the sub-shell.
  38. exec ssh-agent bash -c "ssh-add /path/to/keyfile1 /path/to/keyfile2 ...; exec bash"
  39.  
  40. #!/bin/sh
  41.  
  42. AGENT_BIN=`which ssh-agent`
  43. AGENT_ADD_BIN=`which ssh-add`
  44. AGENT_PID=`ps -fe | grep ${AGENT_BIN} | awk -vuser=$USER -vcmd="$AGENT_BIN" '$1==user && $8==cmd{print $2;exit;}'`
  45. if [ -z "$AGENT_BIN" ]; then
  46. echo "no ssh agent found!";
  47. return
  48. fi
  49. if [ "" -eq "$AGENT_PID" ]; then
  50. if read -sq "YN?Do you want to unlock your ssh keys?"; then
  51. echo ""
  52. output=`$AGENT_BIN | sed 's/echo/#echo/g'`
  53. eval $output
  54. $AGENT_ADD_BIN
  55. fi
  56. else
  57. for f in "/proc/"*
  58. do
  59. cmdline=`cat "$f/cmdline"`
  60. if [ "${AGENT_BIN}" -ef "${cmdline}" ]; then
  61. export SSH_AUTH_SOCK=`cat $f/net/unix | grep --binary-file=text -oP '((/[^/]*?)+/ssh-[^/]+/agent.d+$)'`
  62. export SSH_AGENT_PID=${f##*/}
  63. break;
  64. fi
  65. done
  66. fi
  67.  
  68. ssh-add -L|grep identities > /dev/null && ssh-add /path/to/ssh/private/key
  69.  
  70. DISPLAY= ssh-add -k /path/to/key </dev/null &>/dev/null
  71.  
  72. SSH_ENV="$HOME/.ssh/environment"
  73.  
  74. function start_agent {
  75. echo "Initialising new SSH agent..."
  76. /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
  77. echo succeeded
  78. chmod 600 "${SSH_ENV}"
  79. . "${SSH_ENV}" > /dev/null
  80. /usr/bin/ssh-add;
  81. }
  82.  
  83. # Source SSH settings, if applicable
  84.  
  85. if [ -f "${SSH_ENV}" ]; then
  86. . "${SSH_ENV}" > /dev/null
  87. #ps ${SSH_AGENT_PID} doesn't work under cywgin
  88. ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
  89. start_agent;
  90. }
  91. else
  92. start_agent;
  93. fi
  94.  
  95. echo 'echo my_passphrase' > ~/.echo_ps && chmod 700 ~/.echo_ps
  96.  
  97. $ cat ~/.ssh/id_rsa | SSH_ASKPASS=~/.echo_ps ssh-add -
  98.  
  99. $ mkfifo -m=600 ~/.fifo
  100.  
  101. $ cat ~/.ssh/id_rsa >~/.fifo | SSH_ASKPASS=~/.echo_ps ssh-add ~/.fifo
  102.  
  103. /lib64/seahorse/seahorse-ssh-askpass /path/to/keys/here
  104.  
  105. /lib64/seahorse/seahorse-ssh-askpass ~/.ssh/id_rsa
  106.  
  107. # <sshpass> via typinator
  108. # Updated: 2017-01-18_21h36
  109. #
  110. # apt-get update -y; apt-get install expect -qy
  111.  
  112. # Pass this value to ssh-add
  113. PASSW="myfancypass123"
  114.  
  115. # Define a name for this script
  116. THIS_SCRIPT="$(date +%Y-%m-%d_%H-%M-%S-%N)".sh
  117.  
  118. # Create a fresh directory to work from / Clean up
  119. rm -rf ~/temp; mkdir -p ~/temp; cd ~/temp; ls -la
  120.  
  121.  
  122. # Output our bash script file - BEGIN
  123. cat <<< '
  124. #!/bin/bash
  125.  
  126. set -u # Stop if an unbound variable is referenced
  127. set -e # Stop on first error
  128. export HISTIGNORE="expect*";
  129.  
  130. # Normal CMDs
  131. echo && echo "The process should take about 10 seconds:" && echo
  132. eval "$(ssh-agent -s)"; sleep 0.5;
  133.  
  134. # Define VAR passed when this bash-script was launched
  135. password="$@"
  136.  
  137. # Launch the expect magic
  138. expect -c "
  139. spawn ssh-add /root/.ssh/id_rsa
  140. expect "?assword:"
  141. send "$passwordr"
  142. expect "?password:"
  143. send "$passwordr"
  144. expect eof"
  145.  
  146. export HISTIGNORE="";
  147. export password="";
  148. ' > $THIS_SCRIPT
  149. # Output our bash script file - END
  150.  
  151.  
  152. # Ensure we are in the right path
  153. cd ~/temp; ls -la; sleep 1;
  154.  
  155. # Run the bash script
  156. chmod +x ./$THIS_SCRIPT; ./$THIS_SCRIPT "$PASSW"; unset password;
  157.  
  158. # Clean up
  159. rm -rf ~/temp; mkdir -p ~/temp; cd ~/temp; ls -la
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement