You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Joern Guy Suess (Jira)" <ji...@apache.org> on 2021/03/16 03:47:00 UTC

[jira] [Updated] (SSHD-1143) Example for JGit TransportConfigCallback with MINA

     [ 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: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org