SSH - Lisätty Script pub avaimet
Minulla oli tilanne, jossa sinun täytyy lisätä ssh avain uuteen palvelimet 350 haara palvelimia. Tilanne on yksinkertainen, koska tärkein palvelin haara on jo käytössään, joten zeditovat kaikki oksat ja lisätä uusi avain.
Tehtävä:
- Root uudessa palvelimessa on oltava pääsy ilman salasanaa kaikilta toimialoilta (ssh, scp), mutta oksat eivät saa lähestyä häntä takaisin
- User agent uudessa palvelimessa on myös oltava mahdollisuus kaikkialla, user agent sivuliikkeen on päästävä uudelle palvelimelle
Manuaalisesti ei todellakaan: D niin kuin aina - käsikirjoitus. Todennäköisesti helpoin käsikirjoitus näyttää ja kommentoida. Komentosarjan, epäilen, että meillä on luotu avaimia root, asiamiehenä ja palvelimista, jotka ovat jo olemassa authorized_hosts jne. (viestintä oli jo käynnissä, mutta eri palvelin).
#!/bin/sh if [ ! "$1" ] ; then echo "Zadejte lokalitu." exit 1 fi ### nejdriv pridame ROOT klic z HLAVNI_SERVER na POBOČKA (pokud již nebyl přidán) if (ssh "$1" "cat /root/.ssh/authorized_keys | grep root@HLAVNI_SERVER" >> /dev/null ); then echo "INFO: $1: ROOT klic root@HLAVNI_SERVER v authorized keys jiz obsazen"; else echo "OK: $1: pridavam ROOT klic root@HLAVNI_SERVER do authorized keys"; cat /root/keys/HLAVNI_SERVER_root.id_dsa.pub | ssh "$1" "cat - >> /root/.ssh/authorized_keys" fi; ### potom pridame AGENT klic z HLAVNI_SERVER na pobočku (pokud již nebyl přidán) if (ssh "$1" "cat /home/agent/.ssh/authorized_keys | grep agent@HLAVNI_SERVER" >> /dev/null ); then echo "INFO: $1: AGENT klic agent@HLAVNI_SERVER v authorized keys jiz obsazen"; else echo "OK: $1: pridavam AGENT klic agent@HLAVNI_SERVER do authorized keys"; cat /root/keys/HLAVNI_SERVER_agent.id_dsa.pub | ssh "$1" "cat - >> /home/agent/.ssh/authorized_keys" fi; ### nakonec pridame na HLAVNI_SERVER klic AGENT z POBOČKA (pokud již nebyl přidán) if (ssh "HLAVNI_SERVER" "cat /home/agent/.ssh/authorized_keys | grep $1" >> /dev/null ); then echo "INFO: HLAVNI_SERVER: AGENT klic s obsahem $1 v authorized keys jiz obsazen"; else echo "OK: HLAVNI_SERVER: pridavam AGENT klic pobocky $1 do authorized keys"; ssh "$1" "cat /home/agent/.ssh/id_dsa.pub" | ssh "HLAVNI_SERVER" "cat - >> /home/agent/.ssh/authorized_keys" fi; Sitten vain toisen käsikirjoituksen kanssa yhden syklin, jossa meillä on lista tiedostopalvelimia:
#!/bin/sh echo "Spoustim script na pridani klicu SSH na pobocky cat /data/pobocky.lst | while read line; do echo Pridavam na server$line.local prvni-script.sh $line done 





















