Advertisement
pilasguru

host-connect.sh

Sep 2nd, 2019
321
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. # Author: rodolfo.pilas@moove-it.com
  4. HOST=<host>
  5. PROJECT=ssh-SRE-Team
  6. export VAULT_TOKEN='s.nQXuP6UCcpa84bxc1f8'
  7. export VAULT_ADDR='http://3.13.153.226:8200'
  8.  
  9. CERT=$HOME/.ssh/${HOST}-signed-cert.pub
  10. # check if CERT exists
  11. if [ ! -f $CERT ]; then
  12.     vault login ${VAULT_TOKEN}
  13.     vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
  14. else
  15. # exist, then compare dates
  16.     VALID=$(ssh-keygen -L -f $CERT | grep "Valid: from" | awk '{print $5}' | cut -dT -f1)
  17.     VALIDTO=$(date -j -f "%F" $VALID +"%s")
  18.   TODAY=$(date "+%F")
  19.  
  20.     # re-issue is needed
  21.     if [ $(date -j -f "%F" $TODAY +"%s") -gt $VALIDTO ]; then
  22.         vault login ${VAULT_TOKEN}
  23.         vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
  24.     fi
  25. fi
  26. chmod 600 $CERT
  27. # complete ssh
  28. echo "connecting to ${HOST} ..."
  29. ssh ${HOST}
  30. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement