added automatic force of ssh key login

added script for loading ssh keys from git
This commit is contained in:
jirka1324 2025-02-02 13:26:17 +01:00
parent c443d8e0fd
commit 158d369a5b
2 changed files with 47 additions and 4 deletions

View file

@ -6,9 +6,16 @@ if [[ -z "$idk" ]]; then
echo 'alias sudo=""' >> ~/.bashrc
fi
apt install -y caddy
CONFIG_FILE="/etc/ssh/sshd_config"
# Upraví konfiguraci SSH pro povolení pouze přihlašování pomocí klíčů
sed -i 's/^#\?\(PasswordAuthentication\) .*/\1 no/' "$CONFIG_FILE"
sed -i 's/^#\?\(PermitRootLogin\) .*/\1 prohibit-password/' "$CONFIG_FILE"
sed -i 's/^#\?\(PubkeyAuthentication\) .*/\1 yes/' "$CONFIG_FILE"
# Restart SSH, aby se změny projevily
systemctl restart sshd
echo "SSH je nyní nastaveno pouze pro přihlašování pomocí klíčů."
cp /etc/caddy/Caddyfile /etc/caddy/Caddyfile.bak
cp ./config/Caddyfile /etc/caddy/Caddyfile
systemctl reload caddy

36
update-ssh-keys.sh Normal file
View file

@ -0,0 +1,36 @@
#!/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"