トップ 言語 Java ライブラリ/Framework JSch

JSch―javaでSSH接続する際に使える

javaでSSH接続する際に使えるJSchについてまとめています。

▲記事トップへ

概要

JSchを使用してSSH接続してコマンドを実行したり、結果を取得するJavaプログラムが作れます。

サンプルコード

リモート接続してlsの結果を取得するJavaプログラムです。

Javaソース(App.java)

package com.zealseeds.Sample;

import java.io.InputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class App {

	public static void main(String[] arg) throws Exception {
		System.out.println(
			getText("hostname", "user", "pass", "ls"));
	}

	static String getText(
			String host, String user, String pass, String cmd)
			throws Exception {
		StringBuilder result = new StringBuilder();
		Properties config = new Properties();
		config.put("StrictHostKeyChecking", "no");
		JSch jsch = new JSch();
		Session session = jsch.getSession(user, host, 22);
		session.setConfig(config);
		session.setPassword(pass);
		session.connect();
		ChannelExec channel = (ChannelExec) session.openChannel("exec");
		channel.setCommand(cmd);
		channel.connect();
		InputStream in = channel.getInputStream();
		byte[] tmp = new byte[1024];

		while (true) {

			while (in.available() > 0) {
				int i = in.read(tmp, 0, 1024);

				if (i < 0) {
					break;
				}
				result.append((new String(tmp, 0, i)));
			}

			if (channel.isClosed()) {
				break;
			}
			Thread.sleep(1000);
		}
		channel.disconnect();
		session.disconnect();
		return result.toString();
	}
}

依存ライブラリ(pom.xml)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.zealseeds</groupId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>App</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.jcraft</groupId>
			<artifactId>jsch</artifactId>
			<version>0.1.51</version>
		</dependency>
	</dependencies>
	<artifactId>App</artifactId>
</project>

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

3.135.198.49

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク