36 lines
836 B
Bash
Executable file
36 lines
836 B
Bash
Executable file
#!/bin/bash
|
|
if [ "$EUID" -eq 0 ]; then
|
|
KEYS_DIR="/root/ssh-keys"
|
|
AUTHORIZED_KEYS="/root/.ssh/authorized_keys"
|
|
else
|
|
if [ -z "$1" ]; then
|
|
USER='whoami'
|
|
else
|
|
USER='$1'
|
|
fi
|
|
KEYS_DIR="/home/${USER}/ssh-keys"
|
|
AUTHORIZED_KEYS="/home/${USER}/.ssh/authorized_keys"
|
|
fi
|
|
|
|
# Git repo
|
|
GIT_REPO="https://git.chillplace.beer/jirka1324/ssh-keys.git"
|
|
|
|
# Logování
|
|
LOG_FILE="/var/log/update-ssh-keys.log"
|
|
|
|
# Pokud repo neexistuje, naklonovat
|
|
if [ ! -d "$KEYS_DIR" ]; then
|
|
git clone "$GIT_REPO" "$KEYS_DIR" >> "$LOG_FILE" 2>&1
|
|
fi
|
|
|
|
# Stáhnout nové změny
|
|
cd "$KEYS_DIR" || exit
|
|
git pull origin main >> "$LOG_FILE" 2>&1
|
|
|
|
# Zkopírovat do ~/.ssh
|
|
cp "$KEYS_DIR/authorized_keys" "$AUTHORIZED_KEYS"
|
|
chown "$USER:$USER" "$AUTHORIZED_KEYS"
|
|
chmod 600 "$AUTHORIZED_KEYS"
|
|
|
|
echo "Klíče aktualizovány: $(date)" >> "$LOG_FILE"
|
|
|