Advertisement
pilasguru

host-connect.sh

Sep 2nd, 2019
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.94 KB | None | 0 0
  1. #!/bin/bash
  2. # Check + obtain access credentials to access ssh
  3. HOST=<host>
  4. PROJECT=ssh-SRE-Team
  5. export VAULT_TOKEN='s.nQXuP6UCcpa84bxc1f8'
  6. export VAULT_ADDR='http://3.13.153.226:8200'
  7.  
  8. CERT=$HOME/.ssh/${HOST}-signed-cert.pub
  9. # check if CERT exists
  10. if [ ! -f $CERT ]; then
  11.     vault login ${VAULT_TOKEN}
  12.     vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
  13. else
  14. # exist, then compare dates
  15.     VALID=$(ssh-keygen -L -f $CERT | grep "Valid: from" | awk '{print $5}' | cut -dT -f1)
  16.     VALIDTO=$(date -j -f "%F" $VALID +"%s")
  17.   TODAY=$(date "+%F")
  18.  
  19.     # re-issue is needed
  20.     if [ $(date -j -f "%F" $TODAY +"%s") -gt $VALIDTO ]; then
  21.         vault login ${VAULT_TOKEN}
  22.         vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
  23.     fi
  24. fi
  25. chmod 600 $CERT
  26. # complete ssh
  27. echo "connecting to ${HOST} ..."
  28. ssh ${HOST}
  29. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement