
Tengo un script bash donde configuro mis ajustes de proxy automáticamente. He creado algunos alias en el .bash_aliases
archivo. Ahora hay un comando en el que entro a mi servidor remoto y hago un reenvío dinámico de puertos y esencialmente creo un proxy de calcetines. Entonces necesito configurar mis ajustes de proxy en consecuencia.
El comando se parece a:
proxy off && ssh -D <port> <username>@<hostaddress>
Le puse un alias al comando anterior y cuando escribo el alias en la terminal, me conecto exitosamente a mi servidor remoto. Sin embargo, una vez hecho esto, necesito ejecutar otro comando en una nueva ventana de terminal para configurar mi proxy de calcetines recién creado. Básicamente sólo necesito ejecutar:
proxy socks #It configures my laptop to use the socks proxy
No puedo hacerlo en la misma ventana de terminal y solo &&
después del comando ssh porque eso significaría que estoy intentando ejecutar el comando en el servidor remoto. Quiero ejecutar este comando en mi computadora portátil.
¿Hay alguna manera de ejecutar el segundo comando en una nueva ventana de terminal en una sola línea como si canalizáramos o y comandos diferentes? Es realmente ineficiente abrir una nueva pestaña en la terminal cada vez que ingreso a mi servidor remoto, solo para poder escribir un solo comando para configurar mi proxy y luego cerrar esa pestaña porque ya no la necesito.
Respuesta1
Pruebe así en su lugar:
port=1234
remote=username@host
proxy off && ssh -fND $port $remote && proxy socks
La -f
bandera le indica ssh
que pase a segundo plano y le -N
indica que no ejecute comandos, solo reenvíe los puertos. De esta forma podrás seguir trabajando en tu terminal actual.