O SSH não pode fazer isso porque o protocolo SSH não inclui o nome do host solicitado na chamada. (HTTP é um dos poucos protocolos que inclui o nome do host solicitado, que é como ele pode ser usado para hospedagem virtual.) Existem algumas outras coisas que você pode tentar:
Você pode criar usuários separados para cada subdomínio, mas com o mesmo UID do usuário "principal". Os usuários do subdomínio teriam seu diretório inicial definido para o subdiretório. Exemplo:
Use um módulo PAM para autenticar com base no subdomínio. Se esse módulo existe, não tenho idéia do que seria, mas pode valer a pena investigar.
Use chaves SSH separadas para cada subdomínio. No lado do cliente, configure um .ssh/configpara que você possa digitar ssh subdomainpara fazer login com a chave correta. No lado do servidor, faça com que cada chave pública authorized_keyscomece com as palavras environment="DOMAIN=subdomain". No lado do servidor, também crie um .ssh/rcarquivo que será copiado para o diretório certo com base na DOMAINvariável de ambiente. Isso requer que o servidor esteja configurado com PermitUserEnvironment yes.
Obrigado! Parece uma boa solução. Vou dar uma chance.
kapale
Na verdade, eu também queria sugerir a solução com as chaves SSH e, principalmente, exportar vars ENV da máquina de origem da conexão, mas ele perguntou sobre os diretórios HOME e não apenas cdneles, então não achei que fosse uma boa solução.
Florin Asăvoaie
+1, a ideia de chaves SSH é extremamente inteligente e eu não sabia que era possível definir o ambiente por chave assim.
tgies
8
Isso NÃO é possível porque o protocolo SSH não envia o nome do host solicitado em nenhum lugar dos pacotes.
Minha idéia ao implementar isso seria usar algo como o OpenVZ para isolar os subdomínios e ter um IP separado para cada subdomínio.
cd
neles, então não achei que fosse uma boa solução.Isso NÃO é possível porque o protocolo SSH não envia o nome do host solicitado em nenhum lugar dos pacotes.
Minha idéia ao implementar isso seria usar algo como o OpenVZ para isolar os subdomínios e ter um IP separado para cada subdomínio.
fonte