說說如何使用 Ant 把檔案推送到 Linux

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="[email protected]:/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
執行結果:
