1 votos

Conéctate y ejecuta comandos a través de SSH usando script

Estoy utilizando una serie de comandos para desplegar mis archivos a la producción. Esto se hace actualmente de forma manual.

¿Es posible convertir estos comandos en un archivo ejecutable? Para que no tenga que copiar y pegar estos comandos cada vez.

Cuando se ejecuta la primera línea, es decir, la conexión al servidor Root, me pide la contraseña y tengo que pegar la contraseña: xxxxxxxxxxxxxx

ssh root@server
pwd: xxxxxxxxxxxxxx
ssh-agent bash
ssh-add bi-master
cd /home/trans/bimaster
git status
git pull git@bitbucket.org:xxxxxxxxx/bimaster.git master

Nota: Soy el administrador del servidor, ya que el proyecto está siendo realizado por diferentes equipos a partir de ahora, hemos decidido hacer el despliegue manual (no se puede utilizar Jenkins o cualquier otra herramienta para el despliegue automatizado), ya que tenemos que comprobar el estado de algunos archivos.

2voto

siva Puntos 23

Puede utilizar 'esperar' para introducir la contraseña SSH cuando se le solicite. Los cambios en su script están en negrita.

#!/usr/bin/expect -f spawn ssh root@server expect "*: " send "xxxxxxxxxxxxxx expect "$ " send "… commands

spawn inicia el comando de forma normal, que en este caso es SSH
expect espera hasta que el texto coincidente aparezca en pantalla
send introduce el texto dado, que puede ser una contraseña o un comando a ejecutar
expect espera a que se muestre el intérprete de comandos (esto debe cambiarse para que coincida con su intérprete de comandos $PS1 )

Guarde este archivo, añada el bit ejecutable ( chmod +x /path/to/file ) y abrir para ejecutar los comandos.


Sin embargo, en lugar de esto, deberías utilizar claves SSH para conectarte al servidor sin introducir una contraseña, y los comandos que deseas ejecutar a través de SSH deberían estar en un script en el servidor que se pueda ejecutar. Configure las claves SSH, entonces puede ejecutar un script remoto con ssh -t root@server "/path/to/script" .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X