问题1:关于known_hosts问题
<target name="scp-file"> <scp file="add.jsp" todir="root:root2013@192.168.1.154:/root/my" > </scp> </target>
执行scp或sshexec任务过程中出现com.jcraft.jsch.JSchException: reject HostKey或者
com.jcraft.jsch.JSchException: java.io.FileNotFoundException: ~\.ssh\known_hosts (系统找不到指定的路径。)
解决办法:加入trust属性并设置为true
<target name="scp-file"> <scp file="add.jsp" todir="root:root2013@192.168.1.154:/root/my" trust="true" > </scp> </target>
trust属性一般设置为true, 如果为默认值false时,那么就要求你所连接的host必须存在于你的knownhosts文件中,并且这个文件也必须是存在的
问题2:执行 Ant sshexec 时,出现 command not found
<target name="sshexec1"> <sshexec host="192.168.1.249" username="root" password="123456" trust="true" command="jps -v"/> </target>
解决办法:执行命令前面加上:source /etc/profile ~/.profile ~/.bash_profile
<target name="sshexec1"> <sshexec host="192.168.1.249" username="root" password="123456" trust="true" command="source /etc/profile ~/.profile ~/.bash_profile && jps -v"/> </target>
ant的sshexec连接的时候,是不会执行/etc/profile ~/.profile ~/.bash_profile的,于是这个会话当中就有可能找不到某些Command了
相关推荐
J2SSH Ant扩展提供了一些任务,如`sftp`、`sshexec`和`scp`。以下是一些基本示例: 1. `scp`任务:用于复制文件到远程主机。你需要指定本地文件路径、目标远程路径、用户名、密码或密钥文件等参数。 ```xml <scp...
然后,可以通过创建自定义Ant任务或者使用`java`任务来调用库中的类和方法。例如,可以创建一个基于`jscp`或`j2ssh`的自定义Task来执行SCP操作,如下: ```xml <project name="ssh-scp-example"> <typedef name="...
2. 在`build.xml`中编写Ant任务,包括`scp`或`ftp`任务将文件传输到远程服务器,以及`sshexec`任务执行远程命令。 3. 使用Ant命令行工具运行`build.xml`,启动构建过程。 通过这种方式,开发者可以实现快速、自动化...
2. **定义任务**:在`build.xml`中定义JSch相关的任务,例如创建一个`scp`任务用于文件传输,或者`sshexec`任务用于执行远程命令。这些任务需要配置相应的属性,如主机名、端口、用户名、密码或密钥文件等。 3. **...
在Apache Ant中使用JSch,通常需要编写XML配置文件,定义任务(task)来调用JSch的功能。例如,`scp`任务可以用来进行文件传输,`sshexec`任务则用于执行远程命令。以下是一个简单的示例: ```xml ...
这样,开发者就可以利用Ant的任务来调用JSch的功能,比如创建一个`sshexec`任务来执行远程命令,或者使用`scp`任务来复制文件到远程服务器。 `ant.license.txt`文件通常包含开源库的许可证信息,对于`ant-jsch-1.6....