« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/17097683

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

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