Ant SCP task not working - where can I scp use cygwin

Provide your expert option for the problem that I encountered at work.

  • Ant SCP task does not work - where can I scp use cygwin.

  • Local environment: Windows 7 64 bit, Jdk 1.6.0.24, Ant -1.8.2 (with ant additional dependencies added), maven 2 (usign ant run plugin), jsch-0.1 0.44 Remote environment: VM Labmanager 4.0, Windows Server 2008 - R2, SSH-2.0-OpenSSH_5.8, JDK 1.6.0.24

  • I set password authentication to yes and restarted sshd on the remote host.

  • The purpose of Maven is as follows. (btw, I accomplished the same ant goal, so ant and Maven give the same result with jsch-0.1.44 and jsch-0.1.42)

    <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>copy-installer</id> <phase>process-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <scp file="readme.txt" todir=" devlocal@dev-jboss02.com :/home/devlocal" password="password" trust="true" verbose="true" port="22"/> </target> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.42</version> </dependency> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant-jsch</artifactId> <version>1.8.2</version> </dependency> </dependencies> 

  • The stack trace is as follows:

     $ mvn -e + Error stacktraces are turned on. [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ ... [INFO] Executing tasks main: [scp] Connecting to dev-jboss02.com:22 [scp] Connecting to dev-jboss02.com port 22 [scp] Connection established [scp] Remote version string: SSH-2.0-OpenSSH_5.8 [scp] Local version string: SSH-2.0-JSCH-0.1.38 [scp] CheckCiphers: aes256-cbc,aes192-cbc,aes128-cbc [scp] aes256-cbc is not available. [scp] aes192-cbc is not available. [scp] SSH_MSG_KEXINIT sent [scp] SSH_MSG_KEXINIT received [scp] kex: server->client aes128-cbc hmac-md5 none [scp] kex: client->server aes128-cbc hmac-md5 none [scp] SSH_MSG_KEXDH_INIT sent [scp] expecting SSH_MSG_KEXDH_REPLY [scp] ssh_rsa_verify: signature true [scp] Permanently added 'dev-jboss02.com' (RSA) to the list of known hosts. [scp] SSH_MSG_NEWKEYS sent [scp] SSH_MSG_NEWKEYS received [scp] SSH_MSG_SERVICE_REQUEST sent [scp] SSH_MSG_SERVICE_ACCEPT received [scp] Authentications that can continue: publickey,keyboard-interactive,password [scp] Next authentication method: publickey [scp] Authentications that can continue: keyboard-interactive,password [scp] Next authentication method: keyboard-interactive [scp] Authentications that can continue: password [scp] Next authentication method: password [scp] Disconnecting from dev-jboss02.com port 22 [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] An Ant BuildException has occured: com.jcraft.jsch.JSchException: Auth fail [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.lifecycle.LifecycleExecutionException: An Ant BuildException has occured: com.jcraft.jsch.JSchException: Auth fail at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant BuildException has occured: com.jcraft.jsch.JSchException: Auth fa il at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:283) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) ... 17 more Caused by: C:workspace\trunk\pix-test-automation\target\antrun\build-main.xml:4: com.jcraft.jsch.JSchException: Aut h fail at org.apache.tools.ant.taskdefs.optional.ssh.Scp.execute(Scp.java:245) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) 
  • Also in the sshd log, I see that the client uses JSCH-0.1.38, where the client uses jsch-0.1.44, I have no AKH-0.1.38 in either ant lib, or in mvn repo anywhere ..

     Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3224: debug1: fd 5 clearing O_NONBLOCK Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3224: debug1: Forked child 3364. Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: inetd sockets after dupping: 3, 3 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: Connection from **.**.**.** port 44082 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: Client protocol version 2.0; client software version JSCH-0.1.38 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: no match: JSCH-0.1.38 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: Enabling compatibility mode for protocol 2.0 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3364: debug1: Local version string SSH-2.0-OpenSSH_5.8 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: SSH2_MSG_KEXINIT sent Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: SSH2_MSG_KEXINIT received Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: kex: client->server aes128-cbc hmac-md5 none Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: kex: server->client aes128-cbc hmac-md5 none Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: expecting SSH2_MSG_KEXDH_INIT Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: SSH2_MSG_NEWKEYS sent Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: expecting SSH2_MSG_NEWKEYS Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: SSH2_MSG_NEWKEYS received Sep 21 13:45:46 DEV-JBOSS02 sshd: PID 3924: debug1: KEX done Sep 21 13:45:47 DEV-JBOSS02 sshd: PID 3924: debug1: userauth-request for user devlocal service ssh-connection method none Sep 21 13:45:47 DEV-JBOSS02 sshd: PID 3924: debug1: attempt 0 failures 0 Sep 21 13:45:49 DEV-JBOSS02 sshd: PID 3364: reverse mapping checking getaddrinfo for sjcgnaval1 [10.32.102.33] failed - POSSIBLE BREAK-IN ATTEMPT! 
  • I am interested in password authentication, but not in key authentication, as this is an automation project in which a virtual machine image is created for each launch.

Regards, gnaval

+4
source share
2 answers

Have you installed the JSch library where your ant installation can be installed? Ant scp task documentation clearly states that this is necessary:

Note. This task depends on external libraries that are not included in the distribution. See Library Dependencies for more information.

There you will find that

jsch.jar 0.1.50 or later

required for SCP task.

JSCh is available here :

+1
source

Try using Maven 3, Maven 2 inserts jsch 0.1.38 and takes precedence over the version specified in the plugin dependencies. This was allowed in Maven 3.

0
source

All Articles