我想知道在svn从控制台进行操作时是否有办法保存我的Subversion密码.控制台是我唯一的选择.当我尝试执行任何Subversion操作时,例如svn commit,它每次都会提示输入帐户密码.有没有办法以某种方式保存此密码,以便我不必每次都重新键入它?
Mic*_*zek 103
在~/.subversion/config,你可能有store-passwords = no.将其更改为yes(或只是将其注释掉,因为它默认为yes),下次你给Subversion你的密码时应该保存它.
您可能希望确保所有者和权限~/.subversion/config正确(没有公共或组访问权限; 600).
And*_*ico 54
这取决于您使用的协议.如果您使用的是SVN + SSH,则SVN客户端无法保存您的密码,因为它永远不会触及它 - SSH客户端会直接提示您输入密码.在这种情况下,您可以使用SSH密钥和ssh-agent来避免持续提示.如果您正在使用svnserve协议或HTTP(S),则SSH客户端正在处理您的密码并可以保存它.
Ear*_*rlz 33
尝试清除.subversion主目录中的文件夹并尝试再次提交.它应该提示您输入密码,然后询问您是否要保存密码.
Igo*_*gor 25
从版本 1.12 开始,svn 中故意禁用保存明文密码。没有配置密钥可以重新启用此功能。让 Subversion 将密码保存为纯文本的唯一方法是在编译时启用它。
但是,Subversion 仍然能够读取明文密码。
还有一个官方脚本可以手动将您的密码保存为纯文本。
~/.subversion/config考虑删除和中的任何编辑~/.subversion/servers。如果有疑问,只需删除这两个文件即可。~/.subversion/auth/svn.simple/xxxxx文件(其中“xxxxx”是一些哈希值),但其中还没有密码。svn auth并记Authentication realm: <https://myserver.mydomain:12345> VisualSVN Server下输出中的字符串。wget https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/store-plaintext-password.py
chmod +x store-plaintext-password.py
./store-plaintext-password.py -u your_username "<https://myserver.mydomain:12345> VisualSVN Server"
Run Code Online (Sandbox Code Playgroud)
~/.subversion/auth/svn.simple/xxxxx现在确实包含您的密码chmod 700 ~/.subversion/auth/svn.simple/xxxxxchmod 700 ~/.subversion/auth/svn.simplesvn update)。刚刚在 svn 版本 1.14.1 (r1886195) 上进行了测试,apt install subversion在 Ubuntu 22 上使用简单安装。
haj*_*mie 17
我不得不编辑~/.subversion/servers.我订store-plaintext-passwords = yes(以前没有).这就是诀窍.但它可能被认为是不安全的.
小智 7
请注意~/.subversion/servers文件中的以下段落:
现在可以在config目录的"servers"文件中指定"store-passwords"和"store-auth-creds".本节中指定的任何内容都将被"servers"文件中指定的设置覆盖.
它至少对于SVN版本1.6.12.因此,请记住在覆盖时编辑服务器文件~/.subversion/config.
只是为了强调 Tomasz Gandor 和 Domain 所说的关于拥有正确版本的 svn 并且它被编译为启用纯文本密码存储,您需要验证您拥有什么:
svn --version
svn, version 1.9.7 (r1800392)
...
WARNING: Plaintext password storage is enabled!
...
The following authentication credential caches are available:
* Plaintext cache in /gr/home/ffvdqb/.subversion
* GPG-Agent
Run Code Online (Sandbox Code Playgroud)
相对:
svn --version
svn, version 1.12.2 (r1863366)
...
The following authentication credential caches are available:
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)
Run Code Online (Sandbox Code Playgroud)
一旦您看到您的 svn 版本已启用纯文本密码存储,请在此处应用所有其余答案。
如果使用svn + ssh,则可以将公共ssh密钥复制到远程计算机:
ssh-copy-id user@remotehost
Run Code Online (Sandbox Code Playgroud)
在全新安装的 Ubuntu 上,这些精彩的答案都没有对我有用。相反,这个答案中的一条线索对我有用。
我必须通过将其设置为空来允许“简单”密码存储~/.subversion/config:
password-stores =
Run Code Online (Sandbox Code Playgroud)
没有现有的设置,所以空是很重要的。
除此之外:
store-passwords = yes
Run Code Online (Sandbox Code Playgroud)
在~/.subversion/servers。
| 归档时间: |
|
| 查看次数: |
140568 次 |
| 最近记录: |