2016-04-07 24 views
-4

サーバーへのscp接続を確立しようとしていますが、サーバーに接続中に問題が発生しています。認証は、パスワードのアプローチを使用している間、私は接続できていますが、公開鍵アプローチ、その接続しないを使用している場合公開鍵を使用してJsch認証が失敗する

に失敗:それはcom.jcraft.JschExceltion

以下の例外がスローされます。

ホストファイルも追加しました。以下のコード断片である:

.... 
jsch.addIdentity("~/.ssh/id_rsa");       
jsch.addKnownHosts("~/.ssh/known_hosts"); 
.... 
+1

あなたのエラーをさらに投稿することはいかがですか? –

+1

上記の司会者のコメントは: – halfer

答えて

0

Javaライブラリはどちらか、一般的に~を展開しませんし、その展開はOSレベルで行われていません。その拡張をシェルで使用すると、シェル自体が置換を実行しています。

つまり、あなたのコードは、プログラムの作業ディレクトリに対して、実際には~という名前のディレクトリ内のファイルを探しています。

代わりに、System.getProperty("user.home")を使用してユーザーのホームディレクトリを取得し、それに関連するパスを構築する必要があります。

関連する問題