Depois de atualizar o ISPConfig para a versão 3.2 tive problemas com alguns acessos ssh para usuários com jailkit ativo.
Aqui, alguns usuários logo após tentar fazer o login com chave, eram desconectados do ssh.
Como a maioria dos processos de deploy que utilizo neste servidor utilizam rsync, isso travou o deploy das aplicações com este problema.
Baseado neste link e em algumas outras leituras, acompanhei o /var/log/auth.log enquanto autenticava com os usuários e parecia ser um erro de permissão, o resultado era muito parecido com o da thread linkada:
Oct 15 18:46:43 server1 jk_chrootsh[16809]: ERROR: failed to execute shell /bin/bash for user username (5007), check the permissions and libraries of /var/www/clients/client1/web78//bin/bash
Code language: JavaScript (javascript)
Logo após isso, o logout do usuário. A barra dupla não é um problema (foi a primeira coisa que achei que poderia ser).
No fim, depois de muitas horas e testes, eu não consegui identificar a causa do problema. As configurações do jailkit estava idênticas as ispconfig.
Tentei fazer o resync dos usuários shell, não retornava erro mas não alterava em nada.
Solução encontrada
O que resolveu aqui, foi bem parecido com o sugerido no final da thread no fórum:
- Removi todos os usuários shell da conta em questão
- Na configuração de site, marque na aba options a opção Delete unused jailkit chroot
- Aguarde a sincronização do ISPConfig ou execute manualmente o update via .sh no server
- Recrie o usuário shell – isso irá recriar a estrutura de arquivos para o chroot e recriar o usuário
Estes passos resolveram e o acesso voltou a funcionar com o jailkit, mas não consegui identificar a causa (não ocorreu com todos os usuários com jailkit).