#!/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