Você pode fazer proxy de conexões SSH (e, portanto, também de SFTP, que é encapsulado em uma conexão SSH) usando um proxy SOCKS genérico. Não tenho conhecimento de nenhum proxy específico do protocolo para SSH / SFTP.
(Seria mais fácil responder se você desse uma dica sobre o seu objetivo final. Qual é o propósito de querer ter o proxy?)
UPDATE
Usando o SSH para encapsular o SSH por meio de um proxy:
-
Instale tsocks nos clientes que estão iniciando as conexões SFTP.
-
No seu /etc/tsocks.conf defina o seguinte:
server = 127.0.0.1 server_type = 5 server_port = 1080
-
Abra uma conexão SSH em segundo plano na sua máquina proxy SFTP da seguinte forma:
ssh -D 1080 -f -n -N ssh-proxy.example.com
... ou se você quiser fechar automaticamente após 5 minutos:
ssh -D 1080 -f -n ssh-proxy.example.com 'sleep 300'
(Se você fizer isso a partir de um script, provavelmente precisará adicionar
-i keyfile
no cliente e colocar uma entrada correspondente em~/.ssh/authorized_keys
no servidor proxy SFTP se quiser abrir a conexão a partir de um script sem usuário atenção.) -
Execute as operações do SFTP por meio do proxy usando o wrapper tsocks :
tsocks sftp destination-host.example.com
(Esta conexão SFTP aparecerá em destination-host.example.com como se tivesse sido iniciada em ssh-proxy.example.com.)
Método alternativo com Dante :
Como alternativa, você pode instalar o dante-server (um software de servidor proxy SOCKS) na máquina proxy e configurar seu /etc/tsocks.conf para conectar-se lá, em vez de 127.0 .0.1. Em seguida, basta executar suas operações de SFTP com o wrapper tsocks , como na etapa 4 acima. Se você fizer isso, precisará verificar se o servidor dante está configurado para não permitir conexões de usuários não autorizados.
Espero que isso ajude!