我在Linux机器上检查了源代码.我通过Samba连接到它.在Linux机器上,SVNROOT设置为<mylogin> @ <serverhost>.另外,SVN_SSH设置为指向系统管理员为我生成的私钥.在Linux上,我从不提示输入密码.系统管理员声称私钥负责处理它.
在我通过Samba访问的同一目录中,我运行TortoiseSVN.但是,它会不断提示我输入<mylogin>的密码.我的系统管理员说我没有密码,只有私钥.
我如何处理TortoiseSVN,以便它不会提示我输入密码?
小智 30
Tortoise SVN右击桌面 - > Tortoise SVN->设置 - >保存数据 - >认证数据(按下'清除'按钮)!尝试再次登录!
slo*_*dog 14
通过从TortoiseSVN菜单中选择"设置",然后单击"网络"部分,可以配置"SSH客户端"命令行.添加"-i"后跟您的私钥路径将使身份验证在Linux上运行.
默认的SSH客户端是一个名为"TortoisePlink"的程序,它使用的密钥文件格式与Linux上使用的OpenSSH客户端不同.您可以使用此处提供的puttygen工具将系统管理员提供的密钥转换为该格式http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
或者,您可以使用TortoiseSVN的OpenSSH客户端.例如,cygwin附带的ssh.exe工作正常.
use*_*367 13
如果您没有密码,但有密钥(.ppk):
下载PuTTY并运行它.有趣的钥匙是:
现在保存您的配置-返回到会话,并输入如MyServer到保存会话文本字段,然后点击保存.在UX噩梦之后,您可以重新打开PuTTY,双击您MyServer的会话列表并登录而不提供任何内容.
TortoiseSVN连接字符串应该是这样的svn+ssh://MyServer/path/to/repo.长话短说,MyServer字符串由TortoiseSVN在PuTTY设置中检查.
如果您没有密钥,但有密码:
转到TortoiseSVN - 设置 - 网络 - SSH客户端,并将其设置为:
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l <username> -pw <password>
你的连接字符串应该像往常一样:svn+ssh://serverhostname/path/to/repo没有username@.
对于那些不给予f-ck并且现在想要它的人来说,这是不安全的.
如果您使用密钥通过SSH连接,并且该密钥受密码保护,则不是SVN要求您输入密码,而是SSH(或Plink).
SVN将进行多次呼叫,每次建立自己的连接,SVN对SSH的密码要求一无所知,因此无法缓存密码.
您可以使用SSH密钥代理来避免这种情况.例如,如果您使用的是PuTTY,那么请使用PuTTY,Pageant.