Hi there,

I have heard that some Ant users have 'Auth fail' exceptions
in using scp and sshexec tasks with their correct password.

I guess that their remote sshd does not support 'password' authentication,
but supports 'keyboard-interactive' authentication for PAM based password
authentication.  For example, it seems the recent Debian GNU/Linux has 
such a configuration.

Here is a patch to add 'keybaord-interacetve' authentication support
to scp/sshexec tasks.  Frankly to say, I don't have Debian GNU/Linux
and have not tested it by myself.  If you have such an environment,
may I ask you to try it?


Thanks,
--
Atsuhiko Yamanaka
JCraft,Inc.
4-1 OHMACHI 1-CHOME AOBA-KU,
SENDAI, MIYAGI 980-0804 Japan.
Tel +81-22-723-2150
    +1-415-578-3454
Fax +81-22-224-8773
Skype callto://jcraft/


-------------------------------------------------------------------------
Index: SSHUserInfo.java
===================================================================
RCS file: 
/home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java,v
retrieving revision 1.9
diff -u -r1.9 SSHUserInfo.java
--- SSHUserInfo.java    12 Nov 2004 11:07:12 -0000      1.9
+++ SSHUserInfo.java    24 Jun 2005 03:08:57 -0000
@@ -18,10 +18,11 @@
 package org.apache.tools.ant.taskdefs.optional.ssh;
 
 import com.jcraft.jsch.UserInfo;
+import com.jcraft.jsch.UIKeyboardInteractive;
 
 /**
  */
-public class SSHUserInfo implements UserInfo {
+public class SSHUserInfo implements UserInfo, UIKeyboardInteractive {
 
     private String name;
     private String password = null;
@@ -167,5 +168,19 @@
     public void showMessage(String message) {
         //log(message, Project.MSG_DEBUG);
     }
+    
+    public String[] promptKeyboardInteractive(
+               String destination,
+            String name,
+            String instruction,
+            String[] prompt,
+            boolean[] echo){
+       if(prompt.length!=1 || echo[0]!=false || this.password==null){
+          return null;
+       }
+       String[] response=new String[1];
+       response[0]=this.password;
+       return response;
+    }
 
 }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to