2011-10-31 11 views
8

Ho delle difficoltà con un client git scritto in java. Sto usando la libreria jGit per connettermi tramite ssh sul server git. Il problema è che non so come specificare il percorso della chiave privata e la passphrase per esso. Non sono riuscito a trovare alcun esempio nella documentazione di jGit su quali funzioni ho bisogno di chiamare. Da quanto ho letto la libreria jGit utilizza JSch per connettersi al server usando ssh e JSch supporta chiavi private e passphrase. Qualcuno ha qualche esperienza con questo o ha qualche codice funzionante?Java git client che utilizza jgit

Grazie

risposta

7

non ho mai usato jGit, ma guardando il Javadocs (che non sono apparentemente in linea sfogliabile, but can be downloaded) è necessario configurare uno SshSessionFactory (cioè creare una sottoclasse di JSchConfigSessionFactory, e di override il suo metodo configure).

L'oggetto JSch supporta le chiavi private con i suoi addIdentity metodi, e le frasi d'accesso può essere somministrato con UserInfo oggetti per ogni singola JSch Session.

(Disclaimer: La JSch Javadoc è stato scritto da me.)

+0

sei un genio! Grazie mille ha funzionato come un fascino. – azertys

+0

@azertys sarebbe utile se tu potessi condividere qualche informazione in più, come ha funzionato per te. Sto ancora lottando per ottenere questo. Ottengo errori: com.jcraft.jsch.JSchException: Auth sicuro \t a com.jcraft.jsch.Session.connect (Session.java:519) \t a org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory. java: 117) – mohanjot

+0

Capisco che è stato vicino a 6 anni ma qualsiasi aiuto su questo sarebbe fantastico. – mohanjot