2011-12-22 112 views
3

我正在编写使用pysvn来获取svn日志历史记录的Python应用程序。它适用于http://如urls,但对于svn + ssh://我会在命令行中提示输入密码!pysvn用svn + ssh提示输入密码

我使用callback_get_login进行身份验证。

有什么办法可以避免提示和验证与svn + ssh svn回购pysvn?

+0

你有没有试过['pysvn.Client.set_auth_cache'](http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_client_set_auth_cache)? – jcollado 2011-12-22 12:45:37

+0

@jcollado现在尝试,无论如何都会提示。也许如果我输入密码,它不会再次提示,但我正在构建一个PyGTK应用程序,并且我想完全控制凭据,没有其他提示输入密码。感谢提示。 – umpirsky 2011-12-22 12:50:48

+0

避免被要求输入密码的最有效方法是使用公钥认证,并确保密钥创建时没有任何密码。如果用户决定使用密码,我认为您的应用程序不负责解决此问题,只需以更好的方式请求密码即可。 – jcollado 2011-12-22 14:23:25

回答

1

这是svn + ssh的正常行为。除非您部署了SSH密钥并且正在使用该主机的用户名连接,否则您将遇到此问题。

不幸的是,经过一番研究,PySVN看起来好像在这个时候不支持使用SSH密钥。

+0

是的,我得出了同样的结论,谢谢。应用程序只会执行svn auth部分,将ssh auth留给用户使用公钥管理。 – umpirsky 2011-12-22 16:34:52