2016-06-30 17:34:07 -07:00
|
|
|
#!/usr/bin/env bash
|
2019-01-07 01:04:17 -05:00
|
|
|
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."
|
2016-10-15 23:55:43 +02:00
|
|
|
local key line=0
|
2019-04-22 16:52:53 -04:00
|
|
|
local TMP_KEY_FILE
|
2019-08-12 18:16:16 -04:00
|
|
|
TMP_KEY_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
|
2019-05-20 17:56:50 -07:00
|
|
|
trap "rm -rf '$TMP_KEY_FILE' >/dev/null" RETURN INT TERM EXIT
|
2019-04-22 16:52:53 -04:00
|
|
|
|
2017-03-26 04:59:10 -06:00
|
|
|
while read -r key; do
|
2016-10-15 23:55:43 +02:00
|
|
|
line=$((line + 1))
|
2019-07-05 10:00:52 -04:00
|
|
|
[[ -z "$key" ]] && continue
|
2019-04-22 16:52:53 -04:00
|
|
|
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."
|
2016-10-15 23:55:43 +02:00
|
|
|
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."
|
|
|
|
|
}
|
2016-11-21 19:08:33 -07:00
|
|
|
|
|
|
|
|
create_ssh_key_file() {
|
|
|
|
|
declare desc="Ensure the public key file exists"
|
|
|
|
|
touch "${DOKKU_ROOT}/.ssh/authorized_keys"
|
|
|
|
|
}
|