1 下载 JCraft
JCraft 实现了 SSH2。
SSH 即 Secure SHell,它有两个版本:
-
SSH1 又分为 1.3 和 1.5 两个版本 。SSH1 采用 DES、3DES、Blowfish 和 RC4 等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法( RSA )来完成交换的 。SSH1 使用循环冗余校验码( CRC )来保证数据的完整性,但是后来发现这种方法有缺陷 。
-
SSH2 避免了 RSA 的专利问题,并修补了 CRC 的缺陷 。SSH2 用数字签名算法( DSA )和 Diffie-Hellman ( DH )算法代替 RSA 来完成对称密钥的交换,用消息证实代码( HMAC )来代替 CRC。 同时 SSH2 增加了 AES 和 Twofish 等对称加密算法 。
首先到官网下载 jsch jar 包,Ant 版本支持 1.6+:
2 安装 JCraft
安装很简单,把 JAR 包拷贝到 Ant 相应的 jar 文件夹下即可。
如果使用的是 IDEA ,那么需要把 Ant 拷贝到 IDEA 安装路径下的 ant lib路径,形如:C:\Program Files (x86)\IntelliJ IDEA xxx\lib\ant\lib
。
3 编写推送脚本
<target name="push" depends="dependTask">
<scp file="xx:xx\xx.war"
todir="root@134.132.227.xxx:/home/tomcat/app" password="xxx"
trust="true"/>
</target>
target 标签属性:
属性 | 说明 |
---|---|
name | 任务名称。 |
depends | 依赖任务名称,可选。 |
scp 标签属性:
属性 | 说明 |
---|---|
file | 待上传的文件路径。 |
todir | 目标路径,格式为 主机账号@IP地址:目标路径 。 |
password | 主机密码。 |
trust | 是否信任目标主机,如果这里为 false,那么必须在 knownhosts 中列出。默认为 false。 |
knownhosts | 已知主机列表,改文件必须是 ssh2 格式,默认为 ${user.home}/.ssh/known_hosts 。 |
post | 目标主机端口号,默认为 22。 |
4 执行命令
ant push
运行结果:
网友评论