使用 jgit 的 Java git 客户端
我在使用用 java 编写的 git 客户端时遇到一些困难。我正在使用 jGit 库通过 ssh 连接 git 服务器。问题是我不知道如何指定私钥的路径及其密码。我在 jGit 文档中找不到任何关于我需要调用哪些函数的示例。据我了解,jGit 库使用 JSch 通过 ssh 连接到服务器,并且 JSch 支持私钥和密码。有人有这方面的经验或者有一些工作代码吗?
谢谢
I am having some difficulties with a git client written in java. I am using the jGit library to connect through ssh on the git server. The problem is that i don't know how to specify the path to the private key and the passphrase for it. I couldn't find any examples in the jGit documentation about what functions i need to call. From what i read the jGit library is using JSch to connect to the server using ssh and JSch supports private keys and passphrases. Does anyone have any experience with this or has some working code?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我从来没有使用过jGit,但是通过查看Javadocs(这些文档似乎无法在线浏览,但可以下载)您需要配置一个SshSessionFactory(即创建JSchConfigSessionFactory的子类,并重写其
configure
方法)。JSch 对象支持私钥及其
addIdentity
方法,密码可以通过 UserInfo 对象到每个单独的 JSch 会话。(免责声明:JSch Javadoc 是我编写的。)
I didn't ever use jGit, but from looking at the Javadocs (which are seemingly not online browsable, but can be downloaded) you need to configure a SshSessionFactory (i.e. create a subclass of JSchConfigSessionFactory, and override its
configure
method).The JSch object supports private keys with its
addIdentity
methods, and the passphrases can be given with UserInfo objects to each individual JSch Session.(Disclaimer: The JSch Javadoc was written by me.)