[ https://issues.apache.org/jira/browse/WAGON-446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16606985#comment-16606985 ]
Per Landberg commented on WAGON-446: ------------------------------------ I've now tested maven-ssh-external and it seems to work correctly with the same use-case as above as long as ssh is working from the command line. Looking at the source, ScpExternalWagon always seems to call ScpHelper.getPrivateKey() so if the id_rsa file is found, the private key will be added to the command line using the -i option but ssh seems to detect and use the ssh-agent if it's available. Based on how it seems to work, what do you think about changing ScpHelper.getPrivateKey() to detect if a ssh-agent is available and just skip the call to ScpHelper.findPrivateKey()? For wagon-ssh this will prevent the default key to be used and behave like when using an empty wagon.privateKeyDirectory. For wagon-ssh-external, the key will not be added to the command line but ssh will find the correct key itself as it normally would. This change would fix this issue and hopefully not affect any other use-cases. Note that I have no idea how this change would affect other external ssh programs like putty. > SSH agent authentication is no longer working in wagon-ssh 2.10 > --------------------------------------------------------------- > > Key: WAGON-446 > URL: https://issues.apache.org/jira/browse/WAGON-446 > Project: Maven Wagon > Issue Type: Bug > Components: wagon-ssh > Affects Versions: 2.10 > Reporter: Per Landberg > Assignee: Dan Tran > Priority: Major > Fix For: waiting-for-feedback > > Attachments: wagon-446.patch > > > After upgrading to wagon-2.10, SSH Agent authentication doesn't seems to > work anymore. I got the following error when trying to publish a site, using > maven-site-plugin 3.4: > Using private key: <PATH TO id_rsa> > : Error uploading site: Cannot connect. Reason: Auth fail -> [Help 1] > I have no server for this site defined in my settings.xml > After some investigation, I suspect that the cause is WAGON-413 since the > logic in AbstractJschWagon was changed to not use the agent if > ScpHelper.getPrivateKey() returns a File. > Unfortunate, ScpHelper.getPrivateKey() seems to have a fallback behavior that > always returns the id_rsa key (if one exists) even when no matching server > element exists in settings.xml and the effect is that the agent is never > consulted. > The authentication will then fail since no server element provides a key > password. > My current workaround is to set the wagon.privateKeyDirectory System Property > to an empty directory. This will prevent the ScpHelper.getPrivateKey() > fallback to kick in. > Has anybody else got SSH agent working in combination with existing id_rsa > files? -- This message was sent by Atlassian JIRA (v7.6.3#76005)