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