【问题标题】:Java git client using jgit使用 jgit 的 Java git 客户端
【发布时间】:2011-12-18 13:47:54
【问题描述】:

我在使用 java 编写的 git 客户端时遇到了一些困难。我正在使用 jGit 库通过 git 服务器上的 ssh 进行连接。问题是我不知道如何指定私钥的路径和密码。我在 jGit 文档中找不到任何关于我需要调用哪些函数的示例。从我读到的 jGit 库正在使用 JSch 使用 ssh 连接到服务器,而 JSch 支持私钥和密码短语。有没有人有这方面的经验或有一些工作代码?

谢谢

【问题讨论】:

    标签: java jsch passphrase jgit


    【解决方案1】:

    我从未使用过 jGit,但是通过查看 Javadocs(似乎无法在线浏览,but can be downloaded),您需要配置 SshSessionFactory(即创建 JSchConfigSessionFactory 的子类,并覆盖其 configure 方法)。

    JSch 对象通过其addIdentity 方法支持私钥,并且可以将密码短语与UserInfo 对象一起提供给每个单独的JSch Session

    (免责声明:JSch Javadoc 是我编写的。)

    【讨论】:

    • 你是个天才!非常感谢它就像一个魅力。
    • @azertys 如果你能分享更多信息,它是如何为你工作的,那将会很有帮助。我仍在努力实现这一目标。我收到错误:com.jcraft.jsch.JSchException: Auth 在 org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:117) 的 com.jcraft.jsch.Session.connect(Session.java:519) 失败
    • 我知道它已经接近 6 年了,但任何帮助都会很棒。
    • 对不起,我没有我的应用程序的代码了,但如果你可以在这里发布一些非工作代码,也许我或这里的其他人可以帮助你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 2014-05-13
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    相关资源
    最近更新 更多