mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
While I do not agree with _every_ style change, this will force Dokku to have consistent formatting across all shell scripts, which is arguably a Good Thing™. The command used to reprocess everything is: ```shell shfmt -l -bn -ci -i 2 -w . ```
32 lines
955 B
Bash
Executable File
32 lines
955 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
|
|
list_ssh_keys() {
|
|
declare desc="List ssh key hashes"
|
|
local cmd="ssh-keys:list"
|
|
verify_ssh_key_file
|
|
sshcommand list dokku
|
|
}
|
|
|
|
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
|
|
while read -r key; do
|
|
line=$((line + 1))
|
|
ssh-keygen -l -f /dev/stdin <<<"$key" &>/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"
|
|
}
|