es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Quiero crear un script que introduzca automáticamente una contraseña al cliente ssh para realizar un reinicio en /etc/rc.local.

El código manualmente es:

ssh -fNv -L 3049:localhost:2049 ubuntu@20.115.5.61

Ahora tengo en /etc/rc.local:

#!/bin/bash

host_remoto=ubuntu@20.115.5.61
puerto_remoto=3049
puerto_local=2049
cmd=”ssh -fN -R ${puerto_remoto}:localhost:${puerto_local} ${host_remoto}”

while true; do
pgrep -fx “$cmd” >/dev/null 2>&1 || $cmd
sleep 10
done

¿Me ayudas?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando configurar un túnel SSH inverso utilizando el código en el archivo /etc/rc.local. El código usa variables para definir el host remoto, el puerto remoto y el puerto local. La variable cmd contiene el comando SSH para establecer el túnel.

    El bucle while verifica continuamente si el comando cmd ya está ejecutándose utilizando el comando pgrep. Si el comando no está ejecutándose, se ejecuta el comando cmd para establecer el túnel SSH inverso. El comando sleep se usa para pausar el bucle durante 10 segundos antes de verificar nuevamente.

    Esta configuración te permite establecer una conexión segura a un servidor remoto y acceder a un servicio en ejecución en el puerto local de ese servidor remoto a través del puerto local de tu máquina. Puedes modificar las variables en el código para ajustar la configuración según tus necesidades.

Comments are closed.