2011-01-18 13 views
2

からsshコマンドを送信できます誰でもjava sshコマンド(例:ssh [email protected] "ls")から送信する方法を誰でも表示できますか? どのクラスが必要ですか?Javaコード

+0

可能dublicates http://stackoverflow.com/questions/570450/running-commands-over-ssh-with-javaとhttp://stackoverflow.com/questions/995944/ssh-library-for-java –

+0

rootのリモートアクセス?一般的にはお勧めしません。 – Qwerky

+0

あなたはJSchライブラリを使うことができますが、コマンド "ls"を使ってディレクトリリストを作成するのではなく、同じライブラリJSchからsftpを使い、リモートファイルシステムをもっと簡単に閲覧できます。 – Ruslan

答えて

5

JSchまたは他のJavaライブラリを使用できます。 Googleがお手伝いします。

通常、ビルドスクリプトからsshコマンドを実行する方が便利ですが、たとえば、そのためにAnt taskがあります。我々が使用

+1

より便利な方法としてsshexec ant-taskリファレンスの+1 – dimitrisli

11

です:

SSHClient ssh = new SSHClient(); 
ssh.loadKnownHosts(); 
ssh.connect("nameOfServer"); 
ssh.authPublickey("userId"); 
Session session = ssh.startSession(); 
Command cmd = session.exec("yourCommand"); 
System.out.println(cmd.getOutputAsString()); 
session.close(); 
ssh.disconnect();