JGit使用SSH进行密码验证

时间:2020-02-28 07:33:23

标签: java git ssh jgit

我正在Java中使用JGit,并具有以下代码:

SshSessionFactory sshSessionFactory = new JschConfigSessionFactory() {
  @Override
  protected void configure( Host host, Session session ) {
    session.setPassword( "password" );
  }
} );

CloneCommand cloneCommand = Git.cloneRepository();
cloneCommand.setURI( "ssh://user@example.com/repo.git" );
cloneCommand.setTransportConfigCallback( new TransportConfigCallback() {
  @Override
  public void configure( Transport transport ) {
    SshTransport sshTransport = ( SshTransport )transport;
    sshTransport.setSshSessionFactory( sshSessionFactory );
  }
} );

我正在尝试克隆一个使用SSH保护的存储库。 我想强迫JGit使用我的凭据,例如用户名和密码。

就我而言,JGit在内部检查我的系统环境并找到我的.ssh文件夹,该文件夹存储公用密钥并使用它进行身份验证。

因此,无需使用密码和用户名之类的凭据。 但是,我想强制JGit使用凭据,而不要检查我的环境变量和查找我的公共密钥。

有没有办法克隆ssh存储库并强制JGit使用我的凭据而不是公共密钥?

0 个答案:

没有答案