19 lines
870 B
Bash
19 lines
870 B
Bash
wxi-ssh-config-sync(){
|
|
wxi-header "SSH / Config / Sync"
|
|
wxi-restricted
|
|
|
|
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: $VAULT_TOKEN")
|
|
if [[ $VAULT_STATUS -eq 200 ]]
|
|
then
|
|
touch ~/.ssh/config
|
|
SSH1_CONFIG_MD5=$(curl https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: $VAULT_TOKEN" -s | jq -r '.data.data.data' | base64 -d | md5sum | base64)
|
|
SSH2_CONFIG_MD5=$(cat ~/.ssh/config | md5sum | base64)
|
|
if [[ $SSH1_CONFIG_MD5 != $SSH2_CONFIG_MD5 ]]
|
|
then
|
|
echo $(curl https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: $VAULT_TOKEN" -s | jq -r '.data.data.data') | base64 -d > ~/.ssh/config 2>&1
|
|
chmod 700 ~/.ssh/config
|
|
fi
|
|
fi
|
|
wxi-footer
|
|
}
|