解决Linux下svn命令总是提示输入密码问题

可能的原因

这个一般是因为密码没被保存,或保存的方式跟读取的方式不匹配

查看SVN认证配置

dh@dh-desktop:~/7569_32/fpga_mainboard$ svn auth
------------------------------------------------------------------------
Credential kind: svn.simple
认证领域: <http://192.168.20.187:80> My Subversion Repository
Password cache: gpg-agent
Username: svn_wanghaipeng

Credentials cache in '/home/dh/.subversion' contains 1 credentials

可以看到密码缓存方式是gpg-agent,这就是总提示输入密码的原因,常见的SVN环境下,密码缓存方式都是simple

可能的解决办法

vi ~/.subversion/config

将auth区段的password-stores配置项解开,配置成simple

[auth]
### Set password stores used by Subversion. They should be
### delimited by spaces or commas. The order of values determines
### the order in which password stores are used.
### Valid password stores:
###   gnome-keyring        (Unix-like systems)
###   kwallet              (Unix-like systems)
###   gpg-agent            (Unix-like systems)
###   keychain             (Mac OS X)
###   windows-cryptoapi    (Windows)
# password-stores = gpg-agent,gnome-keyring,kwallet
### To disable all password stores, use an empty list:
# password-stores =     # 解开~~~~~~
password-stores = simple    # 改成这个~~~~~~~~~

### 配置SVNLinux系统中保存凭证 为了防止每次使用Subversion (SVN) 客户端时都需要手动输入用户名和密码,在Linux环境中可以通过修改配置文件来实现自动保存凭证的功能。 #### 修改全局配置文件 编辑位于`~/.subversion/config`中的全局配置文件,找到 `[global]` 或者创建一个新的部分用于存储认证信息: ```ini [auth] password-stores = gnome-keyring, kwallet store-auth-creds = yes ``` 这会启用GNOME Keyring或者KDE Wallet服务作为安全的密钥管理工具[^1]。 #### 调整服务器特定设置 针对具体的SVN服务器连接,可以在 `~/.subversion/servers` 文件里调整参数。打开该文件并将下面的内容加入适当的位置: ```ini [groups] myserver = svn://127.0.0.1:3690 [myserver] store-plaintext-passwords = no # 设置为no以避免明文存储;如果确实需要,则可设为yes ``` 这里定义了一个名为`myserver` 的组,并指定了对应的URL模式以及是否允许保存纯文本形式的密码。 #### 使用加密方式保存密码 理想情况下应该尽可能采用加密的方式来保护已保存的凭据。虽然默认情况下SVN可能会提示说它只能够以明文的形式把密码写入磁盘,但实际上当启用了上述提到的操作系统的密钥环之后,实际存储的数据将会被妥善处理而不会暴露在外。 #### 手动确认保存行为 首次访问受控资源库时,终端仍然会出现询问是否要保存未加密密码的信息框。此时可以根据实际情况选择“yes”或“no”。一旦选择了肯定的回答并且成功登录一次以后,后续操作就不再需要重复提供相同的账号信息了。 #### 更改svnserve监听端口 如果有多个SVN实例在同一台机器上运行,为了避免冲突还可以更改其中一个的服务端口号。例如,执行命令 `svnserve -d -r /opt/svn/ --listen-port 3391` 将使指定路径下的版本库绑定至自定义端口3391 上工作[^2]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值