千家信息网

如何使用Ant进行ssh和scp操作

发表于:2026-11-05 作者:千家信息网编辑
千家信息网最后更新 2026年11月05日,今天就跟大家聊聊有关如何使用Ant进行ssh和scp操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用Ant进行ssh和scp操作一、简介
千家信息网最后更新 2026年11月05日如何使用Ant进行ssh和scp操作

今天就跟大家聊聊有关如何使用Ant进行ssh和scp操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

使用Ant进行ssh和scp操作

一、简介:

  现在我们安装Linux的时候通常考虑到安全因素(默认情况下)是不打开telnet服务的,而ssh服务是有的,ant很早就支持telnet,但要求我们在Linux下要安装telnet-server,并要启用该服务。

还好自Ant1.60开始支持了SSH 及SCP 操作了,早在Ant之前若要支持SSH、SCP、SFTP等任务就必须下载j2ssh的j2ssh-ant.jar和j2ssh-core.jar(在http://www.sourceforge.net的j2ssh下有下载)。现在可以使用Ant提供的Sshexec和scp任务,由$ANT_HOME/lib/ant-jsch.jar提供支持,但是同样你也要在http://www.jcraft.com/jsch/index.html下载一个依赖包jsch-0.1.24.jar(文件名因版本而不同),jsch同样也是http://www.sourceforge.net下的一个项目。

你需要把下载的jsch-0.1.24拷贝到$ANT_HOME/lib下,如果是Eclipse下的Ant环境必须在Window->Preferences->Ant->Runtime->Classpath中加入jsch-0.1.24。

JSch是一个SSH2的纯Java实现

JSch允许你连接到sshd server并采用端口映射,X11映射; Scp文件传输等,你可以把集成JSch提供的功能到你自己的Java项目中,JSch 的授权方式为 BSD形式。

二、简单例子:

  下面是用JSch完成Sshexec和scp两个任务的最简单例子,如果需要更详细的内容,请参考Ant用户手册

[Sshexec任务]

trust="true" command="cd /;ls" />

注意上面的trust属性一般设置为true, 如果为默认值false时,那么就要求你所连接的host必须存在于你的knownhosts文件中,并且这个文件也必须是存在的,否则会出现 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180异常。执行Linux下的命令时可以用分号";"把多个命令隔开,它们将会依次执行,而不需要写多个sshexec进行多次连接,每次连接只执行一个命令。

[scp任务]<远程以根目录计算>

1.拷贝单个文件到远端服务器

或

2.拷贝远端文件本地

3.拷贝远端目录到本地,将以递归形式操作

4.拷贝本地目录中的内容到远端,递归形式,但不在服务器上建立my-app目录

5.拷贝一系列的文件到远端,会建立相应的层次目录,不建立my-app目录

或

三、其他例子:

例子1:

username="Linux server username"

password="Linux server password" trust="true"

command="Command you want to run on the server" />

例子2:

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

import com.jcraft.jsch.UserInfo;

public class ExecSCP {

public static final UserInfo defaultUserInfo = new UserInfo() {

public String getPassphrase() {

return null;

}

public String getPassword() {

return null;

}

public boolean promptPassword(String arg0) {

return false;

}

public boolean promptPassphrase(String arg0) {

return false;

}

public boolean promptYesNo(String arg0) {

return true;

}

public void showMessage(String arg0) {

}

};

public static void main(String[] args) throws Exception {

String hostname = "10.14.50.63";

String username = "abs";

String password = "abs";

String remoteFile = "asbpack.sh";

String localFile = "C:\\";

JSch jsch = new JSch();

/**

* 22为端口

*/

Session session = jsch.getSession(username, hostname, 22);

session.setPassword(password);

session.setUserInfo(defaultUserInfo);

session.connect();

Channel channel = session.openChannel("sftp");

channel.connect();

ChannelSftp c = (ChannelSftp) channel;

c.get(remoteFile, localFile);

session.disconnect();

}

}

看完上述内容,你们对如何使用Ant进行ssh和scp操作有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 拷贝 任务 例子 内容 目录 支持 服务 命令 形式 多个 服务器 端口 项目 递归 不同 安全 下有 两个 分号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 涨乐互联网科技 互联网科技公司税收优惠 互联网科技资迅 深圳互联网科技公司 科技创新互联网企业 互联网金融监管科技 青海省互联网新科技 安控科技rtu产品工业互联网 济南华为互联网科技产业总部基地 成都互联网科技公司100强 呼和浩特新华互联网科技学院 互联网科技大奖都有哪些公司 中国互联网公司排名锤子科技 互联网科技实习生岗位 杭州披云加互联网科技有限公司 工业互联网科技创业 求路客互联网科技电话 马化腾互联网科技教学 互联网科技创业计划的风险分析 科技互联网 喔噻互联网科技有限公司 互联网与科技金融数据 互联网 的科技创新 中国互联网科技发展 互联网科技公司有风险吗 江阴互联网智能科技产品进口 中国科技创新与世界互联网大会 杭州披云加互联网科技有限公司 新氧科技和美国互联网有关系吗
0