SSH Server in Java
ServiceMix Kernel is a small container based on OSGi. The latest release allows external clients to connect to it and issue commands using a simple protocol implemented on top of TCP or SSL. However, this remoting protocol has some drawbacks as the internals makes it unable to do another remote login from a remote session. In addition to that, completion and history do not really work great.
So I've been thinking about using the SSH protocol, which is widely used, secured, with tons of different clients available. Unfortunately, no SSH server is available in Java. Over the past weeks, I've been working on implementing this SSH server, based on the IEFT specifications, the JSch SSH client library, and the OpenSSH server source code. The server itself is based on Apache Mina which is a great framework for using NIO.
The project is available at http://code.google.com/p/sshd/ and although there are lots of limitations right now, the basics of the SSH protocol work. I plan to integrate it in a bit into ServiceMix Kernel as the default remoting protocol. Maybe over time, we'll be able to implement SFTP or even a full SSH server integrated with Unix OS (I've already made some tests, but I'm missing a few bits on the PAM integration for authenticating against the OS).
Anyway, if anyone want to contribute or have any problems trying to use it, just send me an email. I may set up a google group list for that later if there is any need.
Update: the code is now developed as a subproject of Apache Mina and available at http://mina.apache.org/sshd/
So I've been thinking about using the SSH protocol, which is widely used, secured, with tons of different clients available. Unfortunately, no SSH server is available in Java. Over the past weeks, I've been working on implementing this SSH server, based on the IEFT specifications, the JSch SSH client library, and the OpenSSH server source code. The server itself is based on Apache Mina which is a great framework for using NIO.
The project is available at http://code.google.com/p/sshd/ and although there are lots of limitations right now, the basics of the SSH protocol work. I plan to integrate it in a bit into ServiceMix Kernel as the default remoting protocol. Maybe over time, we'll be able to implement SFTP or even a full SSH server integrated with Unix OS (I've already made some tests, but I'm missing a few bits on the PAM integration for authenticating against the OS).
Anyway, if anyone want to contribute or have any problems trying to use it, just send me an email. I may set up a google group list for that later if there is any need.
Update: the code is now developed as a subproject of Apache Mina and available at http://mina.apache.org/sshd/
Comments
what about proposing the ssh server as a MINA subproject ?
However JCraft has some issues with SSH servers. I am not sure whether it's the servers or the API.
The is another SSH API that's open source JAVA from Trilead.
Here is the link for them:
http://www.trilead.com/Products/Trilead_SSH_for_Java/
Maybe this will help too!
Regards Rick
There's a SourceForge project
J2SSH / SSHTools which provides ssh client and server including sftp server.
It seems to be a fork of a commercial product, hasn't released new versions since 2003, but there's newer files as well.
J2SSH 0.2.9 released on May 20, 2007.
j2ssh-fork on Google Code
I'm using it specifically as an SFTP server, so I don't know how good the shell support is. Use it if it's useful.
Forbidden
Your client does not have permission to get URL /p/sshd/ from this server.
When I try to access:
http://code.google.com/p/sshd/
Has this project disappeared?
http://mina.apache.org/sshd
http://projects.apache.org/projects/sshd.html