pilasguru icon

host-connect.sh

pilasguru | PRO | 09/02/19 05:06:10 PM UTC | 0 ⭐ | 692 👁️ | Never ⏰ | []
Bash |

940 B

|

None

|

0 👍

/

0 👎

#!/bin/bash
# Check + obtain access credentials to access ssh
# Author: [email protected]
HOST=<host>
PROJECT=ssh-SRE-Team
export VAULT_TOKEN='s.nQXuP6UCcpa84bxc1f8'
export VAULT_ADDR='http://3.13.153.226:8200'
 
CERT=$HOME/.ssh/${HOST}-signed-cert.pub
# check if CERT exists
if [ ! -f $CERT ]; then
    vault login ${VAULT_TOKEN}
    vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
else
# exist, then compare dates
    VALID=$(ssh-keygen -L -f $CERT | grep "Valid: from" | awk '{print $5}' | cut -dT -f1)
    VALIDTO=$(date -j -f "%F" $VALID +"%s")
  TODAY=$(date "+%F")
 
    # re-issue is needed
    if [ $(date -j -f "%F" $TODAY +"%s") -gt $VALIDTO ]; then
        vault login ${VAULT_TOKEN}
        vault write -field=signed_key ${PROJECT}/sign/my-role public_key=@$HOME/.ssh/id_rsa.pub > $CERT
    fi
fi
chmod 600 $CERT
# complete ssh
echo "connecting to ${HOST} ..."
ssh ${HOST}
exit 0

Comments