[
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]