dmusican / Elegit

A GUI client for people who want to learn Git.
MIT License
30 stars 7 forks source link

Redo Ssh authentication to use Apache MINA sshd #641

Open dmusican opened 5 years ago

dmusican commented 5 years ago

JGit has historically used JSch as the underlying ssh library, but JSch is a completely dead project and they are moving over to Apache MINA sshd. We're already using Apache MINA sshd for our test ssh server that we use when running tests. Eventually, the JSch code will likely break; it has already been difficult to work with due to lack of documentation. We should move over to Apache MINA.

Unfortunately, the move isn't straightforward. They've changed the structure and API on how this works:

https://www.eclipse.org/lists/jgit-dev/msg03709.html https://www.eclipse.org/lists/jgit-dev/msg03717.html

Sample code on how to do this is here:

https://git.eclipse.org/r/plugins/gitiles/egit/egit/+/master/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/EGitSshdSessionFactory.java

We need to figure out how to get Elegit updated. This is a high priority because it is silly to spend more time on other ssh related bugs until this is done; otherwise, we're investing more time in JSch.