¿Cómo abrir SSH socks proxy en el inicio?

1

Utilizo proxies de calcetines remotos para ocasiones en las que necesito una IP de varias ubicaciones. Hay una que uso mucho más que cualquier otra, hasta el punto de que me gustaría que una conexión se abra de forma predeterminada cuando mi máquina cliente arranca.

Actualmente tengo que abrir el terminal, ejecutar un comando SSH -D , escribir una contraseña y luego el proxy está activo. Realmente me gustaría automatizar esto al inicio de alguna manera, pero parece que no puedo encontrar la manera de hacerlo. Estoy intermedio con las cosas de CLI, pero soy un principiante con shell scripts y demás, así que realmente no sé por dónde empezar.

¿Existe una manera fácil de hacer que esta conexión SSH se inicie automáticamente al iniciar el cliente?

Hasta ahora, en mi búsqueda de una solución, he encontrado esto y lo estoy ejecutando como un flujo de trabajo de automatización utilizando el módulo Ejecutar Shell Script:

ip=aa.bb.cc.dd   #replace with your unix server's ip
username=yyyyyyyyyy #your ssh username
password=xxxxxxxxxxxxxxxxx #your ssh password
command=ssh -D 2002     #what do you want to do with remote server
arguments=-Cq     #arguments for your command
expect -c 'spawn ssh $username@$ip ; expect password ; send "$password\n" ; interact'

Parece que funciona, ya que Automator no da errores e informa que se completó el flujo de trabajo. Sin embargo, no se puede acceder al proxy desde un navegador, por lo que claramente algo está mal.

Estoy usando Mavericks, últimas actualizaciones.

    
pregunta Jonathan van Clute 15.12.2016 - 20:30

1 respuesta

1

Debe pasar los argumentos al comando ssh que está ejecutando, no a algunas variables:

ip=aa.bb.cc.dd   #replace with your unix server's ip
username=yyyyyyyyyy #your ssh username
password=xxxxxxxxxxxxxxxxx #your ssh password
command="ssh -D 2002"     #what do you want to do with remote server
arguments=-Cq     #arguments for your command
expect -c 'spawn $command $arguments $username@$ip ; expect password ; send "$password\n" ; interact'
    
respondido por el Jakuje 15.12.2016 - 21:13

Lea otras preguntas en las etiquetas