¿Cómo hacer que SSHPASS no espere el resultado del comando enviado y se desconecte?

¿Cómo hacer que SSHPASS no espere el resultado del comando enviado y se desconecte?

Estoy usando SSHPASS para configurar un dispositivo basado en Linux a través de una IP temporal con fines de automatización.

sshpass -p $TARGET_password ssh -o StrictHostKeyChecking=no $TARGET_username@$TARGET_IP 'bash -s' < $configfile

Estoy enviando un script con un montón de comandos, el último es configurar la IP permanente.

Tan pronto como el script cambia la IP, se bloquea porque perdió la sesión con la IP temporal.

Entonces, ¿es posible enviar el comando que cambia la IP y desconectarse inmediatamente sin esperar ninguna devolución?

Respuesta1

Haz que se desconecteantescambia la dirección. Por ejemplo, haga que el último comando se ejecute en segundo plano con el &operador, tal vez algo como esto:

( (sleep 1; ip addr change ...) &)

No hay una buena manera de que SSHPASS sepa si no recibe ningún ACK porque el comando se realizó correctamente (y la IP cambió), o si no recibe ningún ACK porque los paquetes de comando no llegaron al servidor.en absoluto(debido a problemas de red). En el primer caso desea que se desconecte, pero en el segundo caso debería seguir retransmitiendo los paquetes no reconocidos.

información relacionada