Java SSH Client - Maverick Synergy¶
はじめに¶
JavaのSSH Clientライブラリの一つ Maverick Synergy SSH Clientを使ったプログラミングのメモです。
JADAPTIVE社が開発・サポートし、商用ライセンスとLGPL v3のデュアルライセンスで提供されるオープンソース製品です。
公式サイト: https://jadaptive.com/en/products/open-source-java-ssh
- Maverick Synergyは、SSHサーバーライブラリなども提供しています。
はじめの一歩¶
GradleプロジェクトでMaverickを利用する¶
build.gradle記述¶
Maverick Synergy SSH Clientライブラリは、mavenリポジトリで公開されているので、次の記述をします。
- build.gradle.kts
repositories {
mavenCentral()
}
dependencies {
implementation("com.sshtools:maverick-synergy-client:3.0.11")
SshClientで接続¶
import com.sshtools.client.SshClient;
import com.sshtools.common.ssh.SshException;
:
try (var sshClient = new SshClient(host, port, user, password.toCharArray())) {
System.out.println("SshClient generated);
} catch (IOException | SshException ex) {
System.err.println("ERROR:SshClient failed to generate." + ex);
}
com.sshtools.client.SshClient のコンストラクタで、SSHサーバーのホスト名、ポート番号、ユーザー、パスワードを指定して接続する例です。最初のサンプルなのでパスワード文字列をプログラム上で扱うコードを記載していますが、このほかコンストラクタには、公開鍵認証や実行時にユーザーにパスワードを入力してもらう方法などが用意されています。
参考資料¶
Javadoc API¶
Javadoc.io上のMaverick Synergy Client API
- javadoc.ioは、mavenリポジトリのライブラリのJavadoc APIの公開サイト
チュートリアル¶