Ligar ao SSH através de um 'proxy'

Não faço ideia do que estou aqui a fazer, por isso, por favor, tenha isso em mente, se me puder ajudar!

Estou a tentar ligar-me ao meu servidor virtual através de um proxy, mas não consigo ligar-me, está apenas desligado. Presumo que seja porque não está a passar pelo nosso representante.

Tentei exactamente a mesma coisa em casa e funciona perfeitamente. Estou no OSX a usar o Terminal para me ligar.

Alguém me pode aconselhar como posso passar pelo proxy com a SSH?

Author: rogerdpack, 2013-10-03

7 answers

Aqui está como fazer a resposta de Richard Christensen como um liner, sem necessidade de edição de arquivos (substituir capitalizado com suas próprias configurações, PROXYPORT é frequentemente 80):

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

Também pode usar a mesma opção -o ... para scp, ver https://superuser.com/a/752621/39364

Se receber isto no OS X:

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

Pode ser que esteja a usar acidentalmente a versão homebrew do netcat (pode ver fazendo um comando which -a nc--/usr/bin/nc deve ser listado em primeiro lugar). Se existem dois, então um workaround é especificar o caminho completo para o nc que você deseja, como ProxyCommand=/usr/bin/nc...

Para CentOS nc tem o mesmo problema de invalid option --X. connect-proxy é uma alternativa, fácil de instalar usando yum e funciona --

ssh -o ProxyCommand="connect-proxy -S PROXYHOST:PROXYPORT %h %p" USER@FINAL_DEST
 42
Author: rogerdpack, 2018-10-01 05:32:22

Se a sua ligação por 'proxy' SSH vai ser usada frequentemente, não tem de passá-las como parâmetros de cada vez. você pode adicionar as seguintes linhas a ~/.ssh/config

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

Então para ligar use

ssh foobar.example.com

Fonte:

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

 18
Author: Richard Christensen, 2017-01-04 20:21:56

Eu uso a opção -o "ProxyCommand=nc -X 5 -x proxyhost:proxyport %h %p" SSH para ligar através do 'proxy' socks5 no OSX.

 14
Author: Maxim K., 2016-01-14 04:48:28

@rogerdpack para a plataforma windows é realmente difícil encontrar um nc.exe with-X( http_ proxy), no entanto, descobri que nc pode ser substituído por ncat, exemplo completo como se segue:

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

E ncat com --proxy pode fazer um trabalho perfeito

 7
Author: shoaly, 2016-12-10 05:51:49
$ 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
 2
Author: zhigang, 2017-11-03 13:35:13

No meu caso, uma vez que eu tinha uma máquina de salto ou de Bastion a caminho, e porque as assinaturas nestes nós de bastion tinham mudado desde que foram importadas para o ficheiro known_ hosts, eu só precisava de apagar essas entradas / linhas do seguinte ficheiro:

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

De cima do ficheiro, apaga as linhas que se referem às máquinas do bastion.

 0
Author: cyberPrivacy, 2018-02-13 13:40:24

Estava a usar as seguintes linhas no meu .ssh/config (que podem ser substituídas por parâmetros adequados da linha de comandos) no 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

Ao usá-lo com o Msys2, depois de instalar gnu-netcat, o ficheiro ssh-err.log mostrou que a opção -X não existe. nc --help confirmou isso, e pareceu mostrar que não há opção alternativa para lidar com proxies.

Por isso instalei openbsd-netcat (pacman removido gnu-netcat Depois de perguntar, uma vez que entrou em conflito com openbsd-netcat). Numa primeira vista, e verificando a respectiva as páginas man, openbsd-netcat e Ubuntu netcat parecem muito semelhantes, em particular no que diz respeito às opções -X e -x. Com isto, não tive problemas.
 0
Author: sancho.s, 2018-09-27 14:37:34