ssh -D
pode fazer uma porta de meias na máquina local, que passa o tráfego para o controle remoto e depois para outros lugares.
ssh -L port:host:hostport
, escute a porta na máquina local, passe o tráfego para "host: hostport" do ponto de vista da máquina remota.
ssh -R port:host:hostport
é a contraparte de ssh -L
, que escuta a porta na máquina remota e passa o tráfego para "host: hostport" do ponto de vista da máquina local.
Mas qual é a contrapartida de ssh -D
, por exemplo, como abrir uma porta de meias na máquina remota, que passará o tráfego para o local e depois para outros lugares?
networking
ssh
tunnel
ssh-tunnel
socks
baga
fonte
fonte
Respostas:
Com
-D
&-L
você tem uma maneira de se comunicar de qualquer maneira entre as duas máquinas.Tão...
-R
para criar uma porta de escuta na máquina remota apontada para o sshd da máquina local.-D
na máquina remota, apontada para a porta que você criou acima.Eu acho que o preenchimento abaixo fará com que funcione ...
ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"
'
remotehost
', 'remoteport
' & 'localport
' acima precisam ser alterados. Um proxy de meias será formado em 9050.fonte
Pode ser alcançado de forma transparente com este trecho em ~ / .ssh / config:
Detalhes
Queremos um DynamicForward reverso. Isso é obtido usando dois comandos ssh:
ssh -D 3128 localhost
ssh -R 3128:localhost:3128 target
Dessa maneira, o destino possui um túnel SOCKS para o cliente SSH.
O que fiz foi usar a maneira clássica de encadear o ssh para alcançar um destino remoto através de hosts intermediários, para que a criação do túnel do SOCKS seja tratada de forma transparente durante o login no destino. O primeiro truque ProxyCommand + nc é obrigatório porque -W implica ClearAllForwardings.
fonte
Não há facilidade para fornecer um túnel de meias reversas com o OpenSSH, portanto, você deve executar o comando ssh fornecendo o proxy de meias na máquina "remota".
Se a máquina remota não puder ssh na máquina local, crie primeiro uma conexão ssh de local para remota que encaminhe a porta 22 para, por exemplo, 2222. Em seguida, a máquina remota pode fazer o ssh na máquina local na porta 2222.
fonte
desde o OpenSSH 7.6
ssh (1): adiciona suporte para encaminhamento dinâmico reverso. Nesse modo, o ssh atuará como um proxy SOCKS4 / 5 e encaminhar conexões para destinos solicitados pelo cliente remoto SOCKS. Esse modo é solicitado usando a sintaxe estendida para as opções -R e RemoteForward e, por ser implementado apenas no cliente, não requer que o servidor seja atualizado para ser suportado.
https://www.openssh.com/txt/release-7.6
fonte
ssh -R 127.0.0.3:1080 remote
); atualmente, você pode vincular um proxy SOCKS reverso apenas a uma porta.