Назад | Перейти на главную страницу

«Svn: невозможно согласовать механизм аутентификации» для OSX CLI и WinXp TortoiseSVN, но Linux CLI работает

У меня был рабочий сервер Subversion, который использовал файл passwd, в котором пароли хранятся в виде открытого текста. Мои требования изменились, и теперь пароли нужно шифровать. Я сделал все в соответствии с книгой, чтобы использовать SASL, или мне так кажется, но теперь только командная строка linux может аутентифицироваться. Мои пользователи OSX, которые также используют командную строку, и мои пользователи WinXp, которые используют TortoiseSVN, получают ошибки. Версии Linux - 1.6.11. Версии OSX - 1.6.17. Версия TortoiseSVN - 1.7.4.

/opt/subversion/QRpage/conf/svnserve.conf:

[general]
anon-access = none
auth-access = write
realm = ABC

[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256

/etc/sasl2/svn.conf:

pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /etc/sasldb2
mech_list: DIGEST-MD5

Затем я добавляю новых пользователей через:

saslpasswd2 -c -f /etc/sasldb2 -u ABC dacracot

Но, например, пользователи OSX получают эту ошибку, пытаясь проверить:

$ svn co svn://svn.nowhere.org/QRpage
svn: Cannot negotiate authentication mechanism

Ваши клиенты также должны быть настроены для дайджест-аутентификации SASL, чтобы это работало. Для получения информации о том, как настроить это для Tortoise, см. Вот. Да, это больно.

Протокол svnserve вообще не предназначен для шифрования или безопасности. Вместо этого рассмотрите возможность использования https с mod_dav_svn.