[WAGON-413] On pick either public key or password identity. Not both
since public key gets ignored. Patch provided by Thomas Strecker
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
index 7367b34..9ae7625 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
@@ -128,20 +128,7 @@
throw new AuthenticationException( e.getMessage() );
}
- try
- {
- Connector connector = ConnectorFactory.getDefault().createConnector();
- if ( connector != null )
- {
- IdentityRepository repo = new RemoteIdentityRepository( connector );
- sch.setIdentityRepository( repo );
- }
- }
- catch ( AgentProxyException e )
- {
- fireSessionDebug( "Unable to connect to agent: " + e.toString() );
- }
-
+ //can only pick one method of authentication
if ( privateKey != null && privateKey.exists() )
{
fireSessionDebug( "Using private key: " + privateKey );
@@ -154,6 +141,23 @@
throw new AuthenticationException( "Cannot connect. Reason: " + e.getMessage(), e );
}
}
+ else
+ {
+ try
+ {
+ Connector connector = ConnectorFactory.getDefault().createConnector();
+ if ( connector != null )
+ {
+ IdentityRepository repo = new RemoteIdentityRepository( connector );
+ sch.setIdentityRepository( repo );
+ }
+ }
+ catch ( AgentProxyException e )
+ {
+ fireSessionDebug( "Unable to connect to agent: " + e.toString() );
+ }
+
+ }
String host = getRepository().getHost();
int port =