diff --git a/check_config.sh b/check_config.sh new file mode 100644 index 0000000..c9acd84 --- /dev/null +++ b/check_config.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Funkce pro kontrolu práv složky +check_permissions() { + local path=$1 + local correct_perm=$2 + local perms=$(stat -c "%a" "$path") + + echo "Kontrola: $path" + if [ "$perms" -eq "$correct_perm" ]; then + echo " [OK] Práva pro $path jsou správně nastavena na $correct_perm." + else + echo " [CHYBA] Práva pro $path jsou nastavena na $perms, ale měla by být $correct_perm." + fi +} + +# Kontrola práv pro složku .ssh a soubor authorized_keys +echo "Kontroluji práva složek a souborů..." +user_home="/home/archos" # Změňte na cestu domovského adresáře relevantního uživatele +ssh_dir="$user_home/.ssh" +auth_keys="$ssh_dir/authorized_keys" + +check_permissions "$ssh_dir" 700 +check_permissions "$auth_keys" 600 + +# Kontrola konfigurace SSH daemonu +echo "Kontroluji konfiguraci SSH daemonu..." +pubkey_auth=$(grep "^PubkeyAuthentication yes" /etc/ssh/sshd_config) +authorized_keys_file=$(grep "^AuthorizedKeysFile .ssh/authorized_keys" /etc/ssh/sshd_config) + +if [ -z "$pubkey_auth" ]; then + echo " [CHYBA] Nastavení PubkeyAuthentication není aktivní v /etc/ssh/sshd_config." +else + echo " [OK] Nastavení PubkeyAuthentication je správně aktivní." +fi + +if [ -z "$authorized_keys_file" ]; then + echo " [CHYBA] Cesta k authorized_keys není správně nastavena v /etc/ssh/sshd_config." +else + echo " [OK] Cesta k authorized_keys je správně nastavena." +fi + +echo "Kontrola dokončena."