2
Я использую JGit для подключения к удаленному репозиторию Git. Я попытался сделать это так же.JGit - ssh connectivity
public class Main{
public static void main(String args[]) throws Exception{
JschConfigSessionFactory sshSessionFactory = new JschConfigSessionFactory() {
@Override
protected void configure(Host host, Session session) {
session.setPassword("XXXX");
}
};
String REMOTE_URL="ssh://[email protected]/test.git";
CloneCommand cloneCommand = Git.cloneRepository();
cloneCommand.setURI("ssh://[email protected]/test.git");
cloneCommand.setTransportConfigCallback(new TransportConfigCallback() {
@Override
public void configure(Transport transport) {
SshTransport sshTransport = (SshTransport)transport;
sshTransport.setSshSessionFactory(sshSessionFactory);
}
});
System.out.println("Listing remote repository " + REMOTE_URL);
Collection<Ref> refs = Git.lsRemoteRepository()
.setHeads(true)
.setTags(true)
.setRemote(REMOTE_URL)
.call();
for (Ref ref : refs) {
System.out.println("Ref: " + ref);
}
}
}
ОШИБКА:
Listing remote repository ssh://[email protected]/test.git
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" org.eclipse.jgit.api.errors.TransportException: ssh://[email protected]/test.git: UnknownHostKey: url. RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:223)
at org.eclipse.jgit.api.LsRemoteCommand.call(LsRemoteCommand.java:159)
at Jgit.Jgit.Main.main(Main.java:94)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://[email protected]/test.git: UnknownHostKey: url. RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:202)
... 2 more
Caused by: com.jcraft.jsch.JSchException: UnknownHostKey: ssh://[email protected]/test.git: UnknownHostKey: url. RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
at com.jcraft.jsch.Session.checkHost(Session.java:797)
at com.jcraft.jsch.Session.connect(Session.java:342)
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
... 6 more
Я посмотрел через Интернет; и было установлено, что ниже необходимо добавить:
com.jcraft.jsch.JSch.setConfig ("StrictHostKeyChecking", "no");
Но, где поместить его в фрагмент кода. Есть ли доступный фрагмент кода рабочего кода.
Вы пытались изменить параметр проверки хоста в своей реализации 'JschConfigSessionFactory', то есть' session.setConfig («StrictHostKeyChecking», «no»); '? –
Привет, Rudiger, я поставил 'session.setconfig (« StrictHostKeyChecking »,« no »),« ошибка ssh ключа исчезла. Я получаю сообщение об ошибке «Auth Error» – shankar
Привет, Rudiger, пожалуйста, найдите код/исследование ниже – shankar