Túneis SFTP específicos do usuário

1

Basicamente, eu tenho algumas pilhas Centos7 LAMP diferentes em máquinas virtuais diferentes (no xenserver) & openSSH. Também tenho dois servidores de autenticação intermediária de proxy em execução (um para HTTP, um para SSH, um para SFTP), para segurança e, portanto, todas as máquinas virtuais podem ser executadas nas mesmas portas. O proxy HTTP está funcionando, mas estou com problemas para configurar o proxy SFTP. Eu quero que os clientes sejam tunelados para o VPS apropriado com base em seu nome de usuário.

Eu tentei muitas maneiras diferentes e pesquisei várias coisas diferentes tentando fazer com que isso funcionasse sem sucesso.

Para este exemplo, vamos supor que alguém tente visualizar o vps1.com na porta 80 através do meu IP externo (12.345.678.90). Primeiro eles acertam o roteador (que porta os encaminha para o Proxy HTTP), e o Proxy HTTP os encaminha para a máquina local correta pelo VirtualHosts. Vamos supor vps1.com tem um IP local de 192.168.1.10 e vps2.com tem 192.168.1.20. Eles são encaminhados para o IP local correto e veiculam o conteúdo correto. Ótimo, essa parte funciona bem.

Agora vamos supor que o webmaster do vps1.com deseja fazer login e alterar seu website. Ele fará o login em um cliente SFTP para 12.345.678.90 na porta 2222 como o usuário johnVPS1. O roteador com sucesso porta encaminha-lo para o proxy SFTP (em 192.168.1.7) Agora, o proxy SFTP deve encapsulá-lo ou encaminhá-lo para o VPS correto para que ele possa editar seu site, mas ele não terá acesso a mais nada.

                          External IP 12.345.678.90
                                   Router
             ---------------------------------------------
                   /                              \
       Port 80    /                                \  Port 2222
                 /                                  \ 
                /                                    \
         HTTP Proxy                                  SFTP Proxy
           /     \                                    /     \
vps1.com  /       \  vps2.com              johnVPS1  /       \  billVPS2
         /         \                                /         \ 
192.168.1.10:80    192.168.1.20:80   192.168.1.10:2222   192.168.1.20:2222

Algumas coisas que eu tentei até agora ---

  • Configurando o ChrootDirectory do usuário no servidor proxy SFTP para um diretório montado no SSHFS do servidor apropriado
  • Definindo o ChrootDirectory do usuário no servidor proxy SFTP para um diretório que seja um link simbólico para o diretório montado.
  • No servidor proxy ... ssh -R 2222: 192.168.1.10: 2222 (Isso só me dá o menu de ajuda SFTP, acho que estou bagunçando algo)
  • No servidor proxy ... ssh -L 2222: localhost: 2222 [email protected] -p 2222 (Isso abriu um SSH para 192.168.1.10, mas não parece encaminhar quando eu logar remotamente)
  • Usando o Match User em / etc / ssh / sshd_config com PermitOpen 192.168.1.10:2222
  • Alterou o GatewayPorts para sim

Por favor, alguém pode me levar no caminho certo? Eu estou indo sobre isso tudo errado, ou eu estava perto e só faltando alguma coisa? Eu passei os últimos dias tentando descobrir isso, eu apreciaria muito se alguém pudesse me apontar no caminho certo!

    
por myf4ult 25.11.2016 / 19:37

0 respostas