jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 1.x Artifact Plugin
  • MPARTIFACT-61

scpexe is a noop

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Won't Fix
  • Affects Version/s: 1.5.2
  • Fix Version/s: None
  • Labels:
    None
  • Environment:
    Windows / Cygwin / Maven 1.0.2 / JDK 1.4.2

Description

Unfortunatel scpexe protocoll seems a noop in version 1.5.2. The executable is not called, but Maven is reporting happily that it has deployed:

jar:deploy:
[echo] Deploying...
Using userBuildPropertiesFile: C:\Dokumente und Einstellungen\jos\build.properties
Using projectPropertiesFile: C:\Work\Projects\commons\lang\project.properties
Using projectBuildPropertiesFile: C:\Work\Projects\commons\lang\build.properties
Will deploy to 1 repository(ies): elsag
Deploying to repository: elsag
Uploading to elsag-commons/poms/elsag-lang-1.2-SNAPSHOT.pom:
.................... (7K)
Uploading to elsag-commons/poms/elsag-lang-snapshot-version:
.................... (0K)
Uploading to elsag-commons/poms/elsag-lang-1.2-20051011.091919.pom:
.................... (7K)
Will deploy to 1 repository(ies): elsag
Deploying to repository: elsag
Uploading to elsag-commons/jars/elsag-lang-1.2-SNAPSHOT.jar:
.................... (64K)
Uploading to elsag-commons/jars/elsag-lang-snapshot-version:
.................... (0K)
Uploading to elsag-commons/jars/elsag-lang-1.2-20051011.091940.jar:
.................... (64K)
attaining goal build:end

I can even remove any scp.exe and ssh.exe or set maven.repo.X.scp.executable to any not existing file, the output of Maven is the same. Setting the scp.executable property to a batch file that writes something into a file proves, that the "executable" is definately not called. All this works with 1.4.1 though delivered with the M102 installation, the artifacts are really delpoyed.

This is a real blocker for me, since I am stuck to 1.0.2 because of extensive entitiy usage and I wanted to use 1.5.2 to write self-contained POMs into the repository to prepare a M2 transition at a later time.

Note, that the scp protocol does not work either for me, I always get despite any settings for private key and passphrase:

Root cause
org.apache.maven.MavenException: Unable to deploy to any repositories
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.doDeploy(DefaultArtifactDeployer.java:338)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.handleDeploy(DefaultArtifactDeployer.java:131)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:102)
at org.apache.maven.artifact.deployer.DeployBean.deploy(DeployBean.java:142)
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:324)
at org.apache.commons.jelly.impl.DynamicBeanTag.doTag(DynamicBeanTag.java:230)
at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:125)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:671)
at org.apache.maven.MavenSession.attainGoals(MavenSession.java:263)
at org.apache.maven.cli.App.doMain(App.java:488)
at org.apache.maven.cli.App.main(App.java:1239)
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:324)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)

Issue Links

relates to

Bug - A problem which impairs or prevents the functions of the product. MPARTIFACT-71 Can't deploy artifacts due to "reject HostKey" error

  • Blocker - Blocks development and/or testing work, production could not run
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Lukas Theussl added a comment - 30/Nov/05 5:31 PM

I cannot reproduce that (Linux, maven-1.1-beta-3-SNAPSHOT, maven-artifact-plugin-1.7-SNAPSHOT). In particular, setting maven.repo.X.scp.executable to a non-existing script gives me a 'java.io.IOException: /home/theussl/exe.bsh: not found'. Any more information you can provide? Note however that you need maven 1.1 to use the artifact plugin >= 1.5.2.

Show
Lukas Theussl added a comment - 30/Nov/05 5:31 PM I cannot reproduce that (Linux, maven-1.1-beta-3-SNAPSHOT, maven-artifact-plugin-1.7-SNAPSHOT). In particular, setting maven.repo.X.scp.executable to a non-existing script gives me a 'java.io.IOException: /home/theussl/exe.bsh: not found'. Any more information you can provide? Note however that you need maven 1.1 to use the artifact plugin >= 1.5.2.
Hide
Permalink
Joerg Schaible added a comment - 01/Dec/05 2:36 AM

According to Brett 1.5.2 is the last version to be usable with M102. No, I cannot use M11 since we use XML entities quite extensivly. Therefore I need an artifact-plugin, that is able to write resolved POMs to prepare the transition to M2.

Show
Joerg Schaible added a comment - 01/Dec/05 2:36 AM According to Brett 1.5.2 is the last version to be usable with M102. No, I cannot use M11 since we use XML entities quite extensivly. Therefore I need an artifact-plugin, that is able to write resolved POMs to prepare the transition to M2.
Hide
Permalink
Joerg Schaible added a comment - 01/Dec/05 2:38 AM

BTW: The exec mechanism may be quite different in Linux.

Show
Joerg Schaible added a comment - 01/Dec/05 2:38 AM BTW: The exec mechanism may be quite different in Linux.
Hide
Permalink
Lukas Theussl added a comment - 01/Dec/05 12:34 PM

You're right, 1.5.2 should work with m102. Any chance that you (or anybody) could confirm that it works on Windows with the latest setup? I'd like to release 1.7 (as a m11 plugin only) soon and this is the last blocker in the way. I'm wondering if we could insert another release (1.5.3) that works with m102 and has this problem fixed. Any thoughts?

Show
Lukas Theussl added a comment - 01/Dec/05 12:34 PM You're right, 1.5.2 should work with m102. Any chance that you (or anybody) could confirm that it works on Windows with the latest setup? I'd like to release 1.7 (as a m11 plugin only) soon and this is the last blocker in the way. I'm wondering if we could insert another release (1.5.3) that works with m102 and has this problem fixed. Any thoughts?
Hide
Permalink
Joerg Schaible added a comment - 02/Dec/05 2:00 AM

Unfortunately we are stuck to M102 and I would really appreciate another compatible version 1.5.3...

Show
Joerg Schaible added a comment - 02/Dec/05 2:00 AM Unfortunately we are stuck to M102 and I would really appreciate another compatible version 1.5.3...
Hide
Permalink
Lukas Theussl added a comment - 05/Dec/05 11:52 AM

Actually, everything works for me also with m102, artifact-plugin-1.5.2, scp and scpexe. I can't test with Windows though, so somebody else will have to look at that. For the scp problem, can you try to run the deploy with the -X option? This should give you the detailed reason why it failed to deploy to a particular repository.

Show
Lukas Theussl added a comment - 05/Dec/05 11:52 AM Actually, everything works for me also with m102, artifact-plugin-1.5.2, scp and scpexe. I can't test with Windows though, so somebody else will have to look at that. For the scp problem, can you try to run the deploy with the -X option? This should give you the detailed reason why it failed to deploy to a particular repository.
Hide
Permalink
Joerg Schaible added a comment - 06/Dec/05 6:43 AM

Well, as already said, exec for Linux & Windows is quite different. For scp I have always an AuthenticationException for my privatekey and passphrase. I can use "ssh -i id_file" without problems though ...

===== %< ====
jar:deploy:
[echo] Deploying...
Using userBuildPropertiesFile: C:\Dokumente und Einstellungen\jos\build.properties
Using projectPropertiesFile: C:\Work\Projects\commons\test\project.properties
Using projectBuildPropertiesFile: C:\Work\Projects\commons\test\build.properties
Will deploy to 1 repository(ies): elsag
Deploying to repository: elsag
Failed to deploy to: elsag Reason: org.apache.maven.wagon.authentication.AuthenticationException: Cannot connect. Reason: Auth fail
org.apache.maven.wagon.authentication.AuthenticationException: Cannot connect. Reason: Auth fail
at org.apache.maven.wagon.providers.ssh.ScpWagon.openConnection(ScpWagon.java:164)
at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:123)
at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:90)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deployFiles(DefaultArtifactDeployer.java:376)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.doDeploy(DefaultArtifactDeployer.java:324)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.handleDeploy(DefaultArtifactDeployer.java:131)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:102)
at org.apache.maven.artifact.deployer.DeployBean.deploy(DeployBean.java:142)
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:324)
at org.apache.commons.jelly.impl.DynamicBeanTag.doTag(DynamicBeanTag.java:230)
at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:125)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:671)
at org.apache.maven.MavenSession.attainGoals(MavenSession.java:263)
at org.apache.maven.cli.App.doMain(App.java:488)
at org.apache.maven.cli.App.main(App.java:1239)
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:324)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)
Caused by: com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Unknown Source)
at org.apache.maven.wagon.providers.ssh.ScpWagon.openConnection(ScpWagon.java:158)
... 31 more

Show
Joerg Schaible added a comment - 06/Dec/05 6:43 AM Well, as already said, exec for Linux & Windows is quite different. For scp I have always an AuthenticationException for my privatekey and passphrase. I can use "ssh -i id_file" without problems though ... ===== %< ==== jar:deploy: [echo] Deploying... Using userBuildPropertiesFile: C:\Dokumente und Einstellungen\jos\build.properties Using projectPropertiesFile: C:\Work\Projects\commons\test\project.properties Using projectBuildPropertiesFile: C:\Work\Projects\commons\test\build.properties Will deploy to 1 repository(ies): elsag Deploying to repository: elsag Failed to deploy to: elsag Reason: org.apache.maven.wagon.authentication.AuthenticationException: Cannot connect. Reason: Auth fail org.apache.maven.wagon.authentication.AuthenticationException: Cannot connect. Reason: Auth fail at org.apache.maven.wagon.providers.ssh.ScpWagon.openConnection(ScpWagon.java:164) at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:123) at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:90) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deployFiles(DefaultArtifactDeployer.java:376) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.doDeploy(DefaultArtifactDeployer.java:324) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.handleDeploy(DefaultArtifactDeployer.java:131) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:102) at org.apache.maven.artifact.deployer.DeployBean.deploy(DeployBean.java:142) 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:324) at org.apache.commons.jelly.impl.DynamicBeanTag.doTag(DynamicBeanTag.java:230) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135) at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:125) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135) at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79) at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110) at com.werken.werkz.Goal.fire(Goal.java:639) at com.werken.werkz.Goal.attain(Goal.java:575) at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:671) at org.apache.maven.MavenSession.attainGoals(MavenSession.java:263) at org.apache.maven.cli.App.doMain(App.java:488) at org.apache.maven.cli.App.main(App.java:1239) 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:324) at com.werken.forehead.Forehead.run(Forehead.java:551) at com.werken.forehead.Forehead.main(Forehead.java:581) Caused by: com.jcraft.jsch.JSchException: Auth fail at com.jcraft.jsch.Session.connect(Unknown Source) at org.apache.maven.wagon.providers.ssh.ScpWagon.openConnection(ScpWagon.java:158) ... 31 more
Hide
Permalink
Arnaud Heritier added a comment - 06/Dec/05 6:42 PM

Hi Joerg
scp protocol works for me with maven 1.1
Do you have a key like :

----BEGIN DSA PRIVATE KEY----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,A3717E0DB09C17E4

XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX

----END DSA PRIVATE KEY----

It's an openssh key generated by the tool puttygen

Show
Arnaud Heritier added a comment - 06/Dec/05 6:42 PM Hi Joerg scp protocol works for me with maven 1.1 Do you have a key like : ----BEGIN DSA PRIVATE KEY---- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,A3717E0DB09C17E4 XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX ----END DSA PRIVATE KEY---- It's an openssh key generated by the tool puttygen
Hide
Permalink
Lukas Theussl added a comment - 16/Dec/05 6:49 PM

I think we should separate the issues here: one is the scpexe problem, which is confirmed on Windows. For the scp one I am not sure.
Arnaud, did you check if scp works for you with maven 1.0.2? If this is not a m1.0 compatibility issue then we shouldn't schedule an intermediary 1.5.3 release for it.

For the original (scpexe) problem, can you check if MNG-1587 is related?

Show
Lukas Theussl added a comment - 16/Dec/05 6:49 PM I think we should separate the issues here: one is the scpexe problem, which is confirmed on Windows. For the scp one I am not sure. Arnaud, did you check if scp works for you with maven 1.0.2? If this is not a m1.0 compatibility issue then we shouldn't schedule an intermediary 1.5.3 release for it. For the original (scpexe) problem, can you check if MNG-1587 is related?
Hide
Permalink
Joerg Schaible added a comment - 19/Dec/05 1:24 AM

@Arnaud: My key looks exactly the same and was generated with Cygwin's ss-keygen. The file has Unix line endings though ...

@Lukas: scpexe works for me with M2 despite the fact that it insists on a key even if an agent is running (WAGON-27).

Show
Joerg Schaible added a comment - 19/Dec/05 1:24 AM @Arnaud: My key looks exactly the same and was generated with Cygwin's ss-keygen. The file has Unix line endings though ... @Lukas: scpexe works for me with M2 despite the fact that it insists on a key even if an agent is running (WAGON-27).
Hide
Permalink
Arnaud Heritier added a comment - 10/Aug/06 6:48 PM

This problem is also explained here (but for maven 1.1 with the artifact plugin 1.8)

Show
Arnaud Heritier added a comment - 10/Aug/06 6:48 PM This problem is also explained here (but for maven 1.1 with the artifact plugin 1.8)
Hide
Permalink
Arnaud Heritier added a comment - 13/Apr/07 5:20 PM

It will not be fixed for maven 1.0.x. Sorry.

Show
Arnaud Heritier added a comment - 13/Apr/07 5:20 PM It will not be fixed for maven 1.0.x. Sorry.
Hide
Permalink
Joerg Schaible added a comment - 16/Apr/07 2:03 AM

Not a problem anymore, at least for me ... using M2 since 1 year

Show
Joerg Schaible added a comment - 16/Apr/07 2:03 AM Not a problem anymore, at least for me ... using M2 since 1 year
Hide
Permalink
Martin Todorov added a comment - 07/Nov/07 11:12 AM

I believe this is actually not a bug. We experienced the same sort of behavior here today.

It's actually due to the fact that maven is using jsch and sending out plain-text passwords. Most openssh servers are configured by default to support SSH2 with keys and encrypted passwords.
I solve this problem by enabling the following options in /etc/ssh/sshd_config:
PasswordAuthentication yes
HostKey /etc/ssh/ssh_host_dsa_key
RSAAuthentication no
PubkeyAuthentication yes

Cheers!

Show
Martin Todorov added a comment - 07/Nov/07 11:12 AM I believe this is actually not a bug. We experienced the same sort of behavior here today. It's actually due to the fact that maven is using jsch and sending out plain-text passwords. Most openssh servers are configured by default to support SSH2 with keys and encrypted passwords. I solve this problem by enabling the following options in /etc/ssh/sshd_config: PasswordAuthentication yes HostKey /etc/ssh/ssh_host_dsa_key RSAAuthentication no PubkeyAuthentication yes Cheers!
Hide
Permalink
Joerg Schaible added a comment - 07/Nov/07 12:09 PM

scpexe does call an ssh executable and has nothing to do with jsch.

Show
Joerg Schaible added a comment - 07/Nov/07 12:09 PM scpexe does call an ssh executable and has nothing to do with jsch.
Hide
Permalink
Martin Todorov added a comment - 07/Nov/07 12:16 PM

I'm sorry for not noticing you were calling scp.exe...
Hm... Well, if possible, I suggest you use scp via Maven 1.1 + JSCH. It works great for us!

Show
Martin Todorov added a comment - 07/Nov/07 12:16 PM I'm sorry for not noticing you were calling scp.exe... Hm... Well, if possible, I suggest you use scp via Maven 1.1 + JSCH. It works great for us!

People

  • Assignee:
    Arnaud Heritier
    Reporter:
    Joerg Schaible
Vote (0)
Watch (0)

Dates

  • Created:
    11/Oct/05 5:23 AM
    Updated:
    07/Nov/07 12:16 PM
    Resolved:
    13/Apr/07 5:20 PM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.