46 lines
870 B
Bash
Executable file
46 lines
870 B
Bash
Executable file
#! /usr/bin/env bash
|
|
FILE="$(realpath "${BASH_SOURCE[0]}")"
|
|
ROOT="$(dirname "${FILE}")"
|
|
|
|
COMMANDS='cmd'
|
|
KEY_ALGORITHM='ed25519'
|
|
KEY_DIRECTORY='.ssh'
|
|
KEY_PATH="${KEY_DIRECTORY}/id_${KEY_ALGORITHM}"
|
|
KEY_PUBLIC='AAAAC3NzaC1lZDI1NTE5AAAAIPHCNcgHlQoiNTXfnUZYvHz9OZwYsmBCrSSV7a7Zche5'
|
|
PACKAGES=(
|
|
'openssh-client'
|
|
'python3'
|
|
'rsync'
|
|
'tree'
|
|
)
|
|
SERVER="$(basename ${GITHUB_SERVER_URL})"
|
|
TARGET='/usr/local/sbin'
|
|
|
|
# commands
|
|
cd "${ROOT}/${COMMANDS}" \
|
|
|| exit
|
|
for file in *.sh ; do
|
|
cp "${file}" "${TARGET}/${file%.sh}" \
|
|
|| exit
|
|
done
|
|
|
|
# ssh
|
|
cd \
|
|
|| exit
|
|
mkdir "${KEY_DIRECTORY}" \
|
|
|| exit
|
|
echo "${CD}" > "${KEY_PATH}" \
|
|
|| exit
|
|
unset CD
|
|
chmod '400' "${KEY_PATH}" \
|
|
|| exit
|
|
echo "${SERVER} ssh-${KEY_ALGORITHM} ${KEY_PUBLIC}" \
|
|
> "${KEY_DIRECTORY}/known_hosts" \
|
|
|| exit
|
|
|
|
# packages
|
|
apt-get install --yes "${PACKAGES[@]}" \
|
|
|| exit
|
|
|
|
# remove
|
|
rm --force --recursive "${ROOT}"
|