« Subversionでコミットメッセージを必須に | Main | Trac IniAdminPlugin »

2007.11.18

JavaでSCP

 JavaでLinuxマシンに対してファイルのコピー(転送)を行う必要がでてきたので、少し調べてみました。方法としては、ftpやscp、sambaのファイル共有等いろいろとあるかと思いますが、新たにデーモンを起動するのもアレなので(現在sshdのみ稼働)、第一選択肢としてはscpを。

 で、検索してみると、[Java]Java で ssh や scp を呼び出す(1)のページでいろいろと書かれていました。
 とりあえずは、Ganymed SSH-2 for Javahttp://www.ganymed.ethz.ch/ssh2/からダウンロード。今回ダウンロードしたのは、ganymed-ssh2-build210.zip(2006-10-06版)。

public class ScpTest {
 public static void main(String[] args) throws IOException {
  Connection connection = new Connection("192.168.10.128");
  connection.connect();
  connection.authenticateWithPassword("username", "password");
  SCPClient scp = connection.createSCPClient();
  scp.put("./hoge.txt", "/home/ubuntu/");
  connection.close();
 }
}
ってな感じでサクッとファイルのコピーに成功。

他にも、JSch -- Java Secure Channelhttp://www.jcraft.com/jsch/)といったライブラリがあるようですが、こちらは試していません(^^;

【2007.11.23】connection.close();が抜けていたのを追加。

|

« Subversionでコミットメッセージを必須に | Main | Trac IniAdminPlugin »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference JavaでSCP:

« Subversionでコミットメッセージを必須に | Main | Trac IniAdminPlugin »