Я использую J Git в Java и имею следующий код:
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 );
}
} );
Я пытался клонировать репозиторий, который защищен с помощью S SH. Я хотел бы заставить J Git использовать мои учетные данные, такие как имя пользователя и пароль.
В моем случае J Git внутренне проверяет мою системную среду и находит мою папку .ssh
, в которой хранится ключ publi c, и использует его для аутентификации.
Таким образом, нет необходимости использовать учетные данные, такие как пароль и имя пользователя. Но я хочу заставить J Git использовать учетные данные, не проверять переменные среды и не находить мой ключ publi c.
Есть ли способ клонировать s sh-хранилище и заставить J Git использовать мои учетные данные вместо ключа publi c?