SSH / proxy reverso do SFTP

2

Eu tenho duas máquinas acessíveis na Internet sem nenhum NAT envolvido. Ambas as máquinas executam um serviço SSH.

Eu quero conectar via SSH / SFTP ao servidor A na porta 2000 e essa conexão deve ser roteada para a porta 22 do servidor B (comportamento como um proxy reverso HTTP, mas usando SSH / SFTP em vez de HTTP)

    
por W0bble 31.03.2013 / 18:55

3 respostas

0

Você pode usar a porta ssh para arquivar isso

ssh -L localportinmypc:hostname_of_the_behind_the_firewall:remoteport hostname_of_my_firewall

Agora depois disso:

sftp -o Port=localportinmyp localhost or ssh -p localportinmyp 
    
por 02.07.2014 / 17:40
2

Isso não deve ser problema para o iptables:

#!/bin/bash
export IP="1.2.3.4"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables \-t nat \-A POSTROUTING \-o eth0 \-d $IP \-j MASQUERADE
iptables \-A PREROUTING \-t nat \-p tcp \--dport 2000 \-j DNAT \--to $IP:22
    
por 06.04.2013 / 19:58
0

Algo como:

ssh -o ProxyCommand="ssh -e none userA@serverA:2000 nc -w 1 serverB 22" userB@ServerB

onde você se conecta a serverA com ssh login userA para abrir uma conexão encaminhar para serverB para que você faça o login com userB .

Explicação:

O comando proxy abre uma conexão ssh para ServerA (com nome de usuário userA ) e inicia uma conexão bidirecional para a porta 22 de serverB . / p>

O comando ssh inicial usa este ProxyCommand para estabelecer uma conexão bidirecional para ServerB , onde você precisa efetuar o login com userB .

Em multa:

Existe uma conexão criptografada de Laptop para ServerA (passo 1 do seu desenho) e

outra conexão criptografada de Laptop para ServerB (etapa 1 + etapa 2), encapsulada na primeira conexão em sua primeira parte (etapa 1), do que vinculada por nc na segunda parte (etapa2).

Em vez de HTTP, Como SSH é bidirecional, quando uma conexão é aberta, todas as solicitações e respostas seguem a mesma conexão. Portanto, não há necessidade de pensar nos seus passos 3 e 4.

    
por 31.03.2013 / 19:38

Tags