سه - إضافة حانة النصي مفاتيح
وصلت إلى الحالة التي تكون فيها تحتاج إلى إضافة مفتاح جديد سه ملقمات على خوادم فرع 350. الوضع بسيط لأن الخادم الرئيسي في فرع لديها بالفعل وصول، وذلك فقط zeditovat جميع التمديدات وإضافة مفتاح جديد.
المهمة:
- يجب على المستخدم الجذر على الخادم الجديد من الوصول من دون كلمة مرور على جميع فروع (SSH، اللجنة الدائمة)، ولكن الفروع لا الاقتراب منه مرة أخرى
- وكيل المستخدم على الملقم الجديد يجب أن يكون أيضا الوصول في كل مكان، يجب أن يسمح للعامل المستخدم لفرع الوصول إلى ملقم جديد
يدويا حقا لا: D لذلك كما هو الحال دائما - البرنامج النصي. ربما تكون أسهل السيناريو لاظهار والتعليق. لتشغيل البرنامج النصي، وأظن أننا قد ولدت مفاتيح للجذر، وكيلا لوعلى خوادم موجودة بالفعل authorized_hosts الخ (كان هناك بالفعل اتصالات تحت الطريق، ولكن مع خادم مختلفة).
#!/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; ثم عادل للسيناريو الثاني مع دورة واحدة، حيث لدينا قائمة من خوادم الملفات:
#!/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 





















