[ 
https://issues.apache.org/jira/browse/SSHD-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joern Guy Suess updated SSHD-1143:
----------------------------------
    Description: 
JGit used to rely on JSch as its transport provider, but changed because JSch 
does not accept certain keys, including some OpenSSH ones.

If you are using a passphrase-encrypted key with JGit, the recommended approach 
with JSch used to be [to override a configuration callback, as shown in this 
blog article|https://blog.sebastian-daschner.com/entries/access-git-from-java].

The alternative is to [set a shared session 
factory|https://stackoverflow.com/questions/12502452/how-do-you-set-the-configuration-for-jschconfigsessionfactory-for-jgit-so-that-p#answer-15290861]
 and this [also what the Apache MINA team recommends with a pointer to the cost 
of creating sessions on 
demand|https://github.com/apache/mina-sshd/blob/master/docs/git.md#user-content-client-side].

However, my issue with this is that it sets a specific provider for the whole 
system scope. Consequently, I would like to implement 
[{{TransportConfigCallback}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/api/TransportConfigCallback.html].
 Ultimately, this requires to adapt 
[{{SshSessionFactory}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/SshSessionFactory.html]
 to MINA's session initialization code and produce a 
[{{RemoteSession}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/RemoteSession.html].

Would it be possible to provide an example or some boilerplate for this case?

 

  was:
JGit used to rely on JSch as its transport provider, but changed because JSch 
does not accept certain keys, including some OpenSSH ones.

If you are using a passphrase-encrypted key with JGit, the recommended approach 
with JSch used to be [to override a configuration callback, as shown in this 
blog article](https://blog.sebastian-daschner.com/entries/access-git-from-java).

The alternative is to [set a shared session 
factory](https://stackoverflow.com/questions/12502452/how-do-you-set-the-configuration-for-jschconfigsessionfactory-for-jgit-so-that-p#answer-15290861)
 and this [also what the Apache MINA team recommends with a pointer to the cost 
of creating sessions on 
demand](https://github.com/apache/mina-sshd/blob/master/docs/git.md#user-content-client-side).

However, my issue with this is that it sets a specific provider for the whole 
system scope. Consequently, I would like to implement 
[`TransportConfigCallback`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/api/TransportConfigCallback.html).
 Ultimately, this requires to adapt 
[`SshSessionFactory`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/SshSessionFactory.html)
 to MINA's session initialization code and produce a 
[`RemoteSession`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/RemoteSession.html).

Has anyone done this or seen any boilerplate code?

 


> Example for JGit TransportConfigCallback with MINA
> --------------------------------------------------
>
>                 Key: SSHD-1143
>                 URL: https://issues.apache.org/jira/browse/SSHD-1143
>             Project: MINA SSHD
>          Issue Type: Improvement
>    Affects Versions: 2.5.1
>            Reporter: Joern Guy Suess
>            Priority: Major
>
> JGit used to rely on JSch as its transport provider, but changed because JSch 
> does not accept certain keys, including some OpenSSH ones.
> If you are using a passphrase-encrypted key with JGit, the recommended 
> approach with JSch used to be [to override a configuration callback, as shown 
> in this blog 
> article|https://blog.sebastian-daschner.com/entries/access-git-from-java].
> The alternative is to [set a shared session 
> factory|https://stackoverflow.com/questions/12502452/how-do-you-set-the-configuration-for-jschconfigsessionfactory-for-jgit-so-that-p#answer-15290861]
>  and this [also what the Apache MINA team recommends with a pointer to the 
> cost of creating sessions on 
> demand|https://github.com/apache/mina-sshd/blob/master/docs/git.md#user-content-client-side].
> However, my issue with this is that it sets a specific provider for the whole 
> system scope. Consequently, I would like to implement 
> [{{TransportConfigCallback}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/api/TransportConfigCallback.html].
>  Ultimately, this requires to adapt 
> [{{SshSessionFactory}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/SshSessionFactory.html]
>  to MINA's session initialization code and produce a 
> [{{RemoteSession}}|https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/RemoteSession.html].
> Would it be possible to provide an example or some boilerplate for this case?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to