我在我的ant build.xml中使用scp任務,然後是sshexec。我從屏幕上的密碼字段獲取密碼的值。在任務成功完成之前,用戶無法檢查其密碼是否正確。SCP/SSHEXEC - 連接嘗試次數
因此,如果輸入的密碼不正確,Scp/sshexec是否會重試連接?是否有任何限制連接重試次數的手段?
我在我的ant build.xml中使用scp任務,然後是sshexec。我從屏幕上的密碼字段獲取密碼的值。在任務成功完成之前,用戶無法檢查其密碼是否正確。SCP/SSHEXEC - 連接嘗試次數
因此,如果輸入的密碼不正確,Scp/sshexec是否會重試連接?是否有任何限制連接重試次數的手段?
sshexec
和scp
任務使用Java Secure Channel JSch,請參閱ant手冊library dependencies。
我有一個類似的問題,因爲JSCH嘗試在com.jcraft.jsch.JSch類中配置6次驗證。當使用錯誤密碼時,用戶帳戶被鎖定。從
:
config.put("MaxAuthTries", "6");
到:
config.put("MaxAuthTries", "3");
手段JSch將只嘗試3次驗證
簡單修補的com.jcraft.jsch.JSch類這樣。
-
下載JSch釋放拉鍊here - - 評論之後,編輯最新的版本是0.1.51
解壓
開放jsch-0.1.51 /src/main/java/com/jcraft/jsch/JSch.java
Change line 124
from
config.put(「MaxAuthTries」,「6」);
到
config.put(「MaxAuthTries」,「3」);
保存
運行jsch-0.1.51 /根據您的操作系統
使用jsch-0.1.51 /距離/ lib目錄/ jsch-0.1.5的build.bat或build.sh .jar
這個解決方案不需要您在每次發佈新的JSch版本時修改和構建JSch庫。
只需添加下面的代碼片段或者在你的Ant腳本的開頭,或者調用scp
和sshexec
任務之前:
<script language="javascript"> <![CDATA[
com.jcraft.jsch.JSch.setConfig("MaxAuthTries", "1");
]]> </script>
使用Ant 1.9.4和JSch 0.1.51/0.1.52測試。
首先感謝您的回覆! ..但我如何修補二進制文件..我相對較新,不知道如何創建該修補程序。 –
添加了一些說明 - 請參閱更新的答案。如果你不成功,我可以郵寄修補過的罐子。 – Rebse
上傳的文件=> http://wikisend.com/download/139984/jsch-0.1.51-patched.jar該文件將可用7天MD5 = 2893A131C6775DCA1DB999D1EBADE566 – Rebse