zoukankan      html  css  js  c++  java
  • linux下svn客户端报错Cannot negotiate authentication mechanism的解决方法

    svn客户端报错Cannot negotiate authentication mechanism的解决方法:

    问题出现的原因之一:

    因为SVN服务器配置了saslauthd服务用来实现与ldap的对接,因此认证的机制发生了变化,所以客户端需要安装组件才可以:

    很简单对于RHEL/CentOS,客户端只需要yum安装相应的包即可:

    yum -y install cyrus-sasl-plain

    ubuntu系统尚未测试,请查找对应的包安装即可

    问题出现的原因之二:可能与svn的版本或源码安装时选择的模块有关

    可以通过svnserve --version

    查看是否支持相应的功能,如果不支持则需要升级软件版本,这里不再赘述

    二、svn+saslauthd+openldap的配置方法

    这里主要以saslauthd的配置为主,openLDAP配置请查看其它文档

    1、首先开启saslauthd服务会有选择认证机制的参数‘MECH’

    这个参数会从/etc/sysconfig/saslauthd文件中去获取以环境变量的方式加载

    2、需要配置LDAP服务器和认证的相关参数(/etc/saslauthd.conf没有须自己创建):

    ldap_servers: ldap://<LDAP服务器IP地址>
    ldap_default_domain:<你们公司的域名,例如example.com>
    ldap_search_base:<LDAP基准搜索根分支点,例如ou=People,dc=example,dc=com>
    ldap_bind_dn:<LDAP管理员账户,例如cn=administrator,dc==example,dc=com>
    ldap_password:<LDAP管理员密码>
    ldap_deref: never
    ldap_restart: yes
    ldap_scope: sub
    ldap_use_sasl: no
    ldap_start_tls: no
    ldap_version: 3
    ldap_auth_method: bind
    ldap_mech: SSHA #(加密算法选取默认SSHA即可)
    ldap_filter:uid=%u #(这里的含义是把LDAP相应分支下的记录中uid参数作为这里的用户名,%u是用户账户的含义)
    ldap_password_attr:userPassword #(这里的含义是把LDAP相应分支下的记录中userPassword参数作为这里的验证密码)
    ldap_timeout: 10
    ldap_cache_ttl: 30
    ldap_cache_mem: 32786

    3、在/etc/sasl2/下新增一个svn.conf文件:

    #用户验证方法
    pwcheck_method:saslauthd
    #用户验证信息怎么传输
    mech_list: plain login

    4、在SVN对应的库中conf目录下svnserve.conf文件修改认证方式允许sasl认证即可:

    svnserve.conf:

    [sasl]
    use-sasl = true
    

     5、重启saslauthd、svn服务即可:

    service saslauthd restart

    chkconfig --level 3,5 on

    (centos7的自己脑补:

    还是我给写上吧...

    systemctl restart saslauthd.service

    systemctl enable saslauthd.service

    )

    svnserve -d -r /Your/SVN/RepoRootDir

    6、验证是否能够验证成功:

    testsaslauthd -u <%u还记得上面配置文件中的uid和%u吗...> -p <passwd>

    如果按老司机的套路走到这一步saslauthd已经言尽,能不能成功就看你LDAP配置了

  • 相关阅读:
    osgi:设置httpservice端口号
    osgi: HttpService A null service reference is not allowed.
    Java Web中涉及的编解码
    http协议之cookie标准RFC6265介绍
    信息传输完整性、保密性、不可抵赖性实现
    web开发基础--字节序
    结构体
    ArrayList和LinkedList的some东东
    循环---匹配
    关于游戏的留存率想到的
  • 原文地址:https://www.cnblogs.com/tntxyz/p/5996726.html
Copyright © 2011-2022 走看看