Skript aktualizující hodnotu veřejných klíčů uživatele na serveru z Freenetisu

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání

Následující kód uložte do /usr/local/sbin/update-keys:

#!/bin/bash
##############################################################################
#                                                                            #
#  Author: Michal Kliment                                                    #
#  Popis: Tento skript aktualizuje hodnotu verejnych SSH klicu uzivatele     #
#                                                                            #
#  Datum: 26. 5. 2011                                                        #
#                                                                            #
##############################################################################

##############################################################################
#                           N A S T A V E N I                                #
##############################################################################

# Nazev souboru s verejnymi klici
# Ve vetsine pripadu authorized_key2 nebo authorized_keys
AUTHORIZED_KEYS="authorized_keys2"

# URL adresa, ze ktere se bude stahovat, bez posledni casti (to je device_id)
URL="https://freenetis.slfree.net/cs/web_interface/authorized_keys/"

# Posledni cast z URL adresy, je to ID zarizeni z Freenetisu
DEVICE_ID=10094

##############################################################################
#                              S K R I P T                                   #
##############################################################################

echo "Stahuju novou verzi SSH klicu z Freenetisu..."
wget -q --no-check-certificate "$URL$DEVICE_ID" -O "/tmp/$AUTHORIZED_KEYS"

if [ $(cat "/tmp/$AUTHORIZED_KEYS" 2> /dev/null | wc -l) -gt 3 ]; then
        echo "STAZENO!"
        echo "Zalohuji aktualni verzi do $HOME/.ssh/$AUTHORIZED_KEYS.old"
        mv "$HOME/.ssh/$AUTHORIZED_KEYS" "$HOME/.ssh/$AUTHORIZED_KEYS.old" 2> /dev/null
        echo "Nahravam nove klice do $HOME/.ssh/$AUTHORIZED_KEYS..."
        mv "/tmp/$AUTHORIZED_KEYS" "$HOME/.ssh/$AUTHORIZED_KEYS"
        echo "DOKONCENO!"
fi

Přidejte práva spouštění:

chmod +x /usrl/local/sbin/update-keys

Zapněte spouštění pomocí cronu - editujte soubor /etc/crontab a přidejte řádek:

* *     * * *   root    /usr/local/sbin/update-keys

Už stačí jenom restartovat cron:

/etc/init.d/cron restart

Nyní se bude každou minutu stahovat nová podoba souboru authorized_keys s veřejnými klíči uživatelů.