Files
dokku/plugins/ssh-keys/functions

31 lines
1.0 KiB
Plaintext
Raw Normal View History

2016-06-30 17:34:07 -07:00
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
2016-06-30 17:34:07 -07:00
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
verify_ssh_key_file() {
declare desc="Test that public key is valid"
[[ -s ${DOKKU_ROOT}/.ssh/authorized_keys ]] || dokku_log_fail "No public keys found."
local key line=0
local TMP_KEY_FILE
TMP_KEY_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
trap "rm -rf '$TMP_KEY_FILE' >/dev/null" RETURN INT TERM EXIT
while read -r key; do
line=$((line + 1))
[[ -z "$key" ]] && continue
echo "$key" >"$TMP_KEY_FILE"
ssh-keygen -lf "$TMP_KEY_FILE" &>/dev/null || dokku_log_fail "${DOKKU_ROOT}/.ssh/authorized_keys line $line failed ssh-keygen check."
done <"${DOKKU_ROOT}/.ssh/authorized_keys"
2016-06-30 17:34:07 -07:00
}
verify_ssh_key_exists() {
declare desc="Test that public key exists"
[[ -e ${DOKKU_ROOT}/.ssh/authorized_keys ]] || dokku_log_fail "No public keys found."
}
create_ssh_key_file() {
declare desc="Ensure the public key file exists"
touch "${DOKKU_ROOT}/.ssh/authorized_keys"
}