SSH - Se ha añadido teclas de pub guión
Me metí en una situación donde tiene que agregar la clave ssh a los nuevos servidores servidores de sucursal 350. La situación es simple ya que el servidor principal de la sucursal ya tiene acceso, por lo que zeditovat todas las ramas y agregar una nueva clave.
Asignación:
- El usuario root en el nuevo servidor debe tener acceso sin una contraseña en todas las ramas (ssh, scp), pero las ramas no se le acercan de nuevo
- El agente de usuario en el nuevo servidor también debe tener acceso a todas partes, el agente de usuario de la sucursal debe tener acceso al nuevo servidor
Manualmente verdad es que no: D así que como siempre - el guión. Probablemente la forma más sencilla secuencia de comandos para mostrar y comentar. Para ejecutar el script, sospecho que hemos generado las claves de la raíz, como agente para y en los servidores que ya existen authorized_hosts etc (la comunicación no estaban ya en marcha, pero con un servidor diferente).
#!/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; A continuación, sólo para una segunda secuencia de comandos con un solo ciclo, donde tenemos una lista de servidores de archivos:
#!/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 





















