Java SSH Client
Read this introduction article: Simple Java SSH Client.
It is as simple as this:
import com.jcabi.ssh.Shell; import com.jcabi.ssh.SSH; Shell shell = new SSH("example.com", 22, "username", "key..."); String stdout = new Shell.Plain(shell).exec("echo 'Hello, world!'");
There is also a convenient SSHD
class, a runner of ssh daemon, for unit testing:
try (SSHD sshd = new SSHD()) { String uptime = new Shell.Plain( SSH(sshd.host(), sshd.login(), sshd.port(), sshd.key()) ).exec("uptime"); }
The only dependency you need is (you can also download jcabi-ssh-1.9.0.jar
and add it to the classpath):
<dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-ssh</artifactId> <version>1.9.0</version> </dependency>
Cutting Edge Version
If you want to use current version of the product, you can do it with this configuration in your pom.xml
:
<repositories> <repository> <id>oss.sonatype.org</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-ssh</artifactId> <version>2.0-SNAPSHOT</version> </dependency> </dependencies>