【未解決】Java6アプリからJSchを使用してSSH接続を実行すると例外が発生する件

## やりたいこと
Java6でコンパイルした自作アプリから別マシンにSSH接続することです。

## 環境
### 接続先
- Ubuntu 16.04 LTS
- OpenSSH 7.2p2

### クライアント
- Windows 8.1
- 自作アプリ
- [JSch](http://www.jcraft.com/jsch/)

## 問題概要
[JSch](http://www.jcraft.com/jsch/)のAPIを呼び出して別マシンへのSSH接続を実行すると、[JSch](http://www.jcraft.com/jsch/)内で例外が発生します。

## 問題詳細
今さらJava6？
と思われるかもしれませんが、使わなければいけない事情がありましたので。

JavaでSSH接続となると、[JCraft](http://www.jcraft.com/)の[JSch](http://www.jcraft.com/jsch/)ライブラリが使用されることが多いようです。
[Mevanリポジトリ](https://mvnrepository.com/artifact/com.jcraft/jsch)にも登録されていますし、[JCraft](http://www.jcraft.com/)のサイトからもダウンロードできます。

そんなわけで、早速、使用してみました。
コードはシンプルに以下のような感じです。

```Java:MainClass.java
package sample.sshconnect;

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

public class MainClass {

	private static final String USER = "user_sample";
	private static final String HOST = "111.222.333.444";
	private static final String PASSWORD = "password_sample";
	private static final int PORT = 22;

	public static void main(String[] args) {
		// サーバーへの接続と切断
		JSch jsch = new JSch();
		Session session = null;
		try {
			session = jsch.getSession(USER, HOST, PORT);
		} catch (JSchException e) {
			e.printStackTrace();
			return;
		}
		session.setConfig("StrictHostKeyChecking", "no");
		session.setPassword(PASSWORD);
		try {
			session.connect();
		} catch (JSchException e) {
			e.printStackTrace();
			return;
		}
		session.disconnect();
	}
}
```

`pom.xml`では`maven-compiler-plugin`に`1.6`を指定します。

```XML: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>SampleSshConnect</groupId>
  <artifactId>SampleSshConnect</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.55</version>
    </dependency>
  </dependencies>
</project>
```

実行してみると、コンソールに以下のような情報が出力されます。

```Console
com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read
	at com.jcraft.jsch.Session.connect(Session.java:565)
	at com.jcraft.jsch.Session.connect(Session.java:183)
	at sample.sshconnect.MainClass.main(MainClass.java:27)
```

どうやら、`session.connect();`の中で例外が発生しているようです。

そこで、`pom.xml`を修正して、`maven-compiler-plugin`に指定するバージョンを`1.7`にしてみます。

```XML: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>SampleSshConnect</groupId>
  <artifactId>SampleSshConnect</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.55</version>
    </dependency>
  </dependencies>
</project>
```

実行してみると、コンソールには何も表示されません。

ということは、Java7でコンパイルすると正常にSSH接続が実行され、
Java6でコンパイルするとSSH接続時に例外が発生するということになります。

## 解決策
例外発生を回避する手段はまだ見つけられていません。
何とかならないものかと。