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