SSH - Dodano przyciski pub skrypt
Mam do sytuacji, w której trzeba dodać ssh klucz do nowych serwerów 350 serwerów oddziału. Sytuacja jest prosta, ponieważ główny serwer w oddziale ma już dostęp, więc zeditovat wszystkich branż i dodać nowy klucz.
Zadanie:
- Root na nowy serwer musi mieć dostęp bez hasła na wszystkich oddziałów (ssh, scp), ale gałęzie nie zbliżać się do Niego z powrotem
- Agenta użytkownika na nowy serwer musi mieć dostęp wszędzie, user agent oddziału muszą mieć dostęp do nowego serwera
Ręcznie naprawdę nie: D tak jak zawsze - skrypt. Prawdopodobnie najłatwiejszym skrypt, aby pokazać i komentarz. Aby uruchomić skrypt, podejrzewam, że mamy klucze wygenerowane przez root, jako agent i na serwerach, które już istnieją authorized_hosts itp. (komunikacja nie były już w toku, ale z innego serwera).
#!/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; Po prostu na drugi skrypt z jednego cyklu, gdzie mamy listę serwerów plików:
#!/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 rss 





















