我正在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使用我的凭据而不是公共密钥?