Benvingudes i benvinguts al portal Linkat

La Linkat és la distribució educativa de GNU/Linux que ha iniciat i ofereix el Departament d'Educació a la comunitat educativa. Es tracta d'un projecte de programari lliure que permet als centres educatius, però també a tota la societat, tenir accés de forma legal, gratuïta i amb suport tècnic professional, a un conjunt molt ampli d'aplicacions: educatives, d'ofimàtica, d'Internet, multimèdia...

Shutdown des del servidor  Final

  • Vull programar shutdown (i si pogués inici automàtic també) per a totes les màquines del centre. Tinc l'opció d'afegir una ordre shutdown al cron.tab de cada màquina però voldria saber si puc gestionar tot el grup de màquines amb alguna aplicació des del servidor (Linkat 18.04) a l'estil del DreepFreezer.
  • Bona tarda Salvador.

    Bé, el tancament remot d'equips l'hauries d'efectuar a través de SSH (o PSSH que és una connexió ssh en paral·lel).

    Els equips haurien de tenir el servei ssh activat i amb la clau ssh pública afegida. D'aquesta forma pots executar una ordre del tipus:

    ssh usuari@ip "ordre remota de l'equip"

    A l'ordre remota de l'equip podries executar aquesta:

    /sbin/shutdown -h now

    Per saber quines IPs estan actives, podries fer servir l'ordre nmap -sP RANG_XARXA

    Aquest script s'executaria des del servidor cap a cadascuna de les màquines que detectis que estan obertes (sobretot per estalviar electricitat).

    Si vols m'escrius un correu a veure si podem filar més prim amb la solució.

    :-)


    Joan
  • Bona tarda Salvador,

    Un script com aquest et podria servir:

    Code

    #!/bin/bash
    USUARI="root"
    CONTRASENYA="_CONTRASENYA_"
    XARXA="192.168.0.0/24"
    for IP in $(nmap  -p 22 -n $XARXA --open |grep -i interesting | awk -F ' ' '{print }' | cut -d ":" -f1); do

    #
    # Aqui heu d'introduir l'ordre remota que voleu executar
    # A l'exemple s'utilitza la connexió a través de clau pública/privada per canviar la contrasenya de root
    # definida a la variable CONTRASENYA
    # Exemple:
    #
        ssh -o StrictHostKeyChecking=no -o BatchMode=yes $USUARI@$IP "echo -n $CONTRASENYA |passwd --stdin"
    #
    done


    La part final de la línia ssh:

    Code

    echo -n $CONTRASENYA |passwd --stdin


    És un exemple per executar una ordre remota, en aquest cas un canvi de contrasenya d'usuari.

    Si canvies aquesta ordre que s'executa en remot per:

    Code

    /sbin/shutdown -h now


    tindràs el tancament dels equips.

    Ara bé, cal distribuir claus públiques ssh entre les màquines i instal·lar el servidor ssh.

    Code

    #!/bin/bash
    USUARI="root"
    CONTRASENYA="_CONTRASENYA_"
    XARXA="192.168.0.0/24"
    for IP in $(nmap  -p 22 -n $XARXA --open |grep -i interesting | awk -F ' ' '{print }' | cut -d ":" -f1); do
        expect -c "
        spawn ssh -o StrictHostKeyChecking=no $USUARI@$IP \"mkdir .ssh\"
        match_max 100000
        expect \"*?assword:*\"
        send -- \"$CONTRASENYA\r\"
        send -- \"\r\"
        expect eof
        "

        expect -c "
        spawn scp -o StrictHostKeyChecking=no "
    $HOME/.ssh/id_rsa.pub" $USUARI@$IP:\"$HOME/.ssh/authorized_keys\"
        match_max 100000
        expect \"*?assword:*\"
        send -- \"$CONTRASENYA\r\"
        send -- \"\r\"
        expect eof
        "

    done
    # nmap -p 22 -n $IP --open
    # Nota: existeix el paquet pssh per treballar en paral·lel (software.opensuse.org)
    # La comanda és: pssh -A -h nom_ip.maquina -O StrictHostKeyChecking=no "nom comanda"


    Aquest altre script permet distribuir una clau pública entre els diferents ordinadors de la xarxa.

    Aquí caldrà revisar l'adreça de la xarxa (192.168.0.0/24) i posar l'adreçament que correspongui (segons si és xarxa de cable o bé wifi).

    Bé fes una prova i em dius com ha anat.

    Merci,


    Joan
  • 0 usuaris

Aquesta llista mostra els usuaris actius durant els darrers 20 minuts.