tunel configurar ssh proxy terminal

configurar - ssh tunnel putty



Conéctate con SSH a través de un proxy (7)

@rogerdpack para la plataforma de Windows es realmente difícil encontrar un nc.exe con -X (http_proxy), sin embargo, he encontrado que nc puede ser reemplazado por ncat, el ejemplo completo es el siguiente:

Host github.com HostName github.com #ProxyCommand nc -X connect -x 127.0.0.1:1080 %h %p ProxyCommand ncat --proxy 127.0.0.1:1080 %h %p User git Port 22 IdentityFile D:/Users/Administrator/.ssh/github_key

y ncat con --proxy puede hacer un trabajo perfecto

No tengo una idea real de lo que estoy haciendo aquí, así que tenedlo en cuenta si podéis ayudarme.

Estoy tratando de conectarme a mi servidor virtual a través de un proxy pero no puedo conectarme, simplemente se cuelga. Supongo que esto se debe a que no está llegando a través de nuestro proxy.

He intentado exactamente lo mismo en casa y funciona perfectamente. Estoy en OSX corriendo usando Terminal para conectar.

¿Alguien puede aconsejarme cómo puedo pasar por el proxy con SSH?


A continuación, le indicamos cómo responder a Richard Christensen como una sola línea, sin necesidad de editar archivos (reemplace con mayúscula su propia configuración, PROXYPORT suele ser 80):

ssh USER@FINAL_DEST -o "ProxyCommand=nc -X connect -x PROXYHOST:PROXYPORT %h %p"

También puede usar la misma opción -o ... para scp, consulte https://superuser.com/a/752621/39364

Si obtienes esto en OS X:

nc: invalid option -- X Try `nc --help'' for more information.

es posible que esté utilizando accidentalmente la versión casera de netcat (puede ver haciendo un comando which -a nc nc-- /usr/bin/nc debería aparecer primero). Si hay dos, una solución alternativa es especificar la ruta completa al nc que desea, como ProxyCommand=/usr/bin/nc ...

Para CentOS nc tiene el mismo problema de invalid option --X . connect-proxy es una alternativa, fácil de instalar utilizando yum y funciona -

ssh -o ProxyCommand="connect-proxy -S PROXYHOST:PROXYPORT %h %p" USER@FINAL_DEST


En mi caso, ya que tenía un host de salto o un host de Bastion en el camino, y debido a que las firmas en estos nodos de bastión habían cambiado desde que se importaron a un archivo conocido_hosts, solo necesitaba eliminar esas entradas / líneas del siguiente archivo:

/Users/a.abdi-kelishami/.ssh/known_hosts

Desde el archivo anterior, elimine las líneas que se refieren a los hosts de bastión.


Estaba usando las siguientes líneas en mi .ssh/config (que puede ser reemplazado por parámetros de línea de comando adecuados) en Ubuntu

Host remhost HostName my.host.com User myuser ProxyCommand nc -v -X 5 -x proxy-ip:1080 %h %p 2> ssh-err.log ServerAliveInterval 30 ForwardX11 yes

Al usarlo con Msys2, después de instalar gnu-netcat , el archivo ssh-err.log mostró que la opción -X no existe. nc --help confirmó eso, y pareció mostrar que no existe una opción alternativa para manejar proxies.

Así que instalé openbsd-netcat ( pacman eliminó gnu-netcat después de preguntar, ya que estaba en conflicto con openbsd-netcat ). En una primera vista, y revisando las respectivas páginas man, openbsd-netcat y Ubuntu netcat parecen muy similares, en particular con respecto a las opciones -X y -x . Con esto, me conecté sin problemas.


Si su conexión proxy SSH se usará con frecuencia, no tiene que pasarlos como parámetros cada vez. puede agregar las siguientes líneas a ~/.ssh/config

Host foobar.example.com ProxyCommand nc -X connect -x proxyhost:proxyport %h %p ServerAliveInterval 10

entonces para conectar el uso

ssh foobar.example.com

Fuente:

http://www.perkin.org.uk/posts/ssh-via-http-proxy-in-osx.html


Utilizo la -o "ProxyCommand=nc -X 5 -x proxyhost:proxyport %h %p" ssh para conectar a través del proxy socks5 en OSX.


$ which nc /bin/nc $ rpm -qf /bin/nc nmap-ncat-7.40-7.fc26.x86_64 $ ssh -o "ProxyCommand nc --proxy <addr[:port]> %h %p" USER@HOST $ ssh -o "ProxyCommand nc --proxy <addr[:port]> --proxy-type <type> --proxy-auth <auth> %h %p" USER@HOST