JGit clone référentiel
Je suis en train de cloner le dépôt Git avec JGit et j'ai un problème avec UnsupportedCredentialItem.
Mon code:
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(PATH).readEnvironment().findGitDir().build();
Git git = new Git(repository);
CloneCommand clone = git.cloneRepository();
clone.setBare(false);
clone.setCloneAllBranches(true);
clone.setDirectory(PATH).setURI(url);
UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(login, password);
clone.setCredentialsProvider(user);
clone.call();
Qu'il va se produire Exception:
org.eclipse.jgit.errors.UnsupportedCredentialItem: ssh://[email protected]:22: Passphrase for C:\Users\Marek\.ssh\id_rsa at
org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider.get(UsernamePasswordCredentialsProvider.java:110)....
Mais si je supprime le fichier known_hosts .ssh\ Il va se produire différentes Exception
org.eclipse.jgit.errors.UnsupportedCredentialItem: ssh://[email protected]:22: The authenticity of host 'github.com' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting?
at org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider.get(UsernamePasswordCredentialsProvider.java:110)....
Est-il possible de type "oui" à cette question, ou de l'ignorer?
Merci!
OriginalL'auteur Scruger | 2011-12-17
Vous devez vous connecter pour publier un commentaire.
Je pense que si vous vous connecter avec le nom d'utilisateur et le mot de passe, vous avez besoin de https. Pour ssh, vous aurez besoin d'une clé publique correspondant à celui enregistré avec github.
OriginalL'auteur moger777
Cela fera (comme @michals, seulement moins de code) si vous utilisez un nom d'utilisateur /mot de passe par ssh
OriginalL'auteur rmuller
Je suppose que vous voulez vérifier le github de l'aide:
http://help.github.com/win-set-up-git/
Surtout la partie sur la génération de clés ssh (
ssh-keygen -t rsa -C "[email protected]"
). Lire l'article de votre environnement, et vous comprendrez comment obtenir une meilleure configuration.OriginalL'auteur Vince
J'ai eu le même problème. La raison en était la phrase de passe défini pour la clé privée rsa. Quand j'ai supprimer mot de passe pour cette clé, il a commencé à travailler, sans
CredentialsProvider
.UsernamePasswordCredentialsProvider
probablement ne supportent pas de mot de passe. Si vous voulez avoir de la phrase de passe défini, vous pouvez définir vous possédez CredentialProvider, qui va l'appuyer, par exemple:Il fonctionne pour moi 😉
OriginalL'auteur michals
Si le dépôt est privé et des besoins d'authentification, vous(@Scruger) de le faire à l'aide de nom d'utilisateur/mot de passe avec ssh pour cloner le repository.
OriginalL'auteur Wemerson Vital
J'ai eu un problème similaire, bien que ma configuration est un peu différente. Laissant ici au cas où quelqu'un d'autre rencontre quelque chose de similaire. J'avais remplacé ma méthode configure et createDefaultJSch méthode selon ce tutoriel: https://www.codeaffine.com/2014/12/09/jgit-authentication/
J'avais quelque chose comme:
J'ai fini par changer mon createdDefaultJSch méthode pour getSch (en ajoutant les paramètres appropriés) et de l'ajout de removeAllIdentity():
Aucune idée de pourquoi cela a fonctionné, mais j'ai trouvé le getSch chose de cette réponse (coïncidence par le même gars qui a écrit le tutoriel): En utilisant les Touches avec JGit pour Accéder à un Dépôt Git en toute sécurité
OriginalL'auteur user3658800