JSch允许你连接到sshd server并采用端口映射, X11 映射; Scp文件传输等,你可以把集成JSch提供的功能到你自己的Java项目中,JSch 的授权方式为 BSD形式。
二、简单例子:
下面是用JSch完成Sshexec和scp两个任务的最简单例子,如果需要更详细的内容,请参考Ant用户手册
[Sshexec任务]
<sshexec host="127.16.1.198" username="${server.username}" password="${server.pwd}" command="/home/pcer/apache-tomcat-7.0.22/bin/shutdown.sh" trust="true" />注意上面的trust属性一般设置为true, 如果为默认值false时,那么就要求你所连接的host必须存在于你的knownhosts文件中,并且这个文件也必须是存在的,否则会出现 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180异常。执行Linux下的命令时可以用分号";"把多个命令隔开,它们将会依次执行,而不需要写多个sshexec进行多次连接,每次连接只执行一个命令。
sshexec: [sshexec] Connecting to 192.168.122.180:22 [sshexec] backup [sshexec] bin [sshexec] boot [sshexec] dev [sshexec] etc ...................[scp任务]
1.拷贝单个文件到远端服务器
<scp todir="root:[email protected]:/tmp" file="c:/cmd.txt" trust="true" />
<scp file="root:[email protected]:/tmp/cmd.txt" todir="D:/my-app" trust="true"/>