mirror of
https://github.com/dokku/dokku.git
synced 2025-12-16 12:07:45 +01:00
This standardization makes it somewhat easier to read stacktraces as the command names are all uniform, so it will be slightly easier to scan trace output.
31 lines
1.0 KiB
Bash
Executable File
31 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
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"
|
|
}
|
|
|
|
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"
|
|
}
|