Por que o svnserve ainda pede senha via svn + ssh quando o sasl é usado?

1

Eu tenho svnserve configurado para executar a partir de inetd e svnserve.conf definido para usar o sasl para autenticação. Assim, posso permitir o acesso a alguns repositórios por usuários que não possuem contas de todo o sistema usando svn:// .

No entanto, para usuários que possuem uma conta do sistema (como eu), prefiro usar svn+ssh:// para a autenticação de chave pública. No meu entender, quando executado como svnserve -t , o svnserve não pedia autenticação e usava o usuário atual autenticado por SSH. Eu sinto que isso costumava funcionar. Hoje, quando fui atualizar uma cópia de trabalho que eu tinha usando o caminho svn+ssh:// do repositório, ela começou a me pedir uma senha.

Eu pude confirmar que não é o SSH me pedindo a senha, a autenticação da chave pública está dando certo, é o svnserve / sasl me pedindo uma senha. Se eu desativar o sasl, parece funcionar como esperado, mas prefiro sasl sobre o arquivo de senha de texto sem formatação. Eu não tenho certeza se isso nunca funcionou ou se foi quebrado por uma atualização recente que eu não notei. Isto é com o subversion 1.9.4 no trecho Debian.

    
por sparkyb 30.08.2016 / 04:24

1 resposta

1

Depois de ler a svnserve source, encontrei a resposta. Mesmo com -t , ele ainda delega ao sasl para autenticar, é apenas que a autenticação externa via o usuário do SSH é agora uma opção. Mas para que isso funcione, eu tive que adicionar EXTERNAL como um mecanismo permitido para o mech_list no meu arquivo /usr/lib/sasl2/svn.conf .

    
por 30.08.2016 / 15:03