From 7d8e56b37a1cc0113e20d15446f3c1cead7a8030 Mon Sep 17 00:00:00 2001
From: Stefan Bodewig
Date: Thu, 17 Jul 2008 08:22:54 +0000
Subject: [PATCH] SSH keyfiles can be password-less. PR 33718.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@677532 13f79535-47bb-0310-9956-ffa450edef68
---
WHATSNEW | 4 ++++
docs/manual/OptionalTasks/scp.html | 3 +--
.../org/apache/tools/ant/taskdefs/optional/ssh/Scp.java | 6 +++---
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/WHATSNEW b/WHATSNEW
index ea899f2b0..128e1d6aa 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -203,6 +203,10 @@ Other changes:
* "output" attribute now supports any Resource in addition to a file.
+ * no longer requires a passphrase when using key based
+ authentication.
+ Bugzilla report 33718.
+
Changes from Ant 1.7.0 TO Ant 1.7.1
=============================================
diff --git a/docs/manual/OptionalTasks/scp.html b/docs/manual/OptionalTasks/scp.html
index 6d7a43d48..b26acc55d 100644
--- a/docs/manual/OptionalTasks/scp.html
+++ b/docs/manual/OptionalTasks/scp.html
@@ -156,8 +156,7 @@ for more information. This task has been tested with jsch-0.1.2 and later.
passphrase |
Passphrase for your private key. |
- Yes, if you are using key based
- authentication. |
+ No, defaults to an empty string. |
verbose |
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java
index f80376d5e..8a8dad234 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java
@@ -353,15 +353,15 @@ public class Scp extends SSHBase {
setUsername(uri.substring(0, indexOfColon));
setPassword(uri.substring(indexOfColon + 1, indexOfAt));
} else if (indexOfAt > -1) {
- // no password, will require passphrase
+ // no password, will require keyfile
setUsername(uri.substring(0, indexOfAt));
} else {
throw new BuildException("no username was given. Can't authenticate.");
}
if (getUserInfo().getPassword() == null
- && getUserInfo().getPassphrase() == null) {
- throw new BuildException("neither password nor passphrase for user "
+ && getUserInfo().getKeyfile() == null) {
+ throw new BuildException("neither password nor keyfile for user "
+ getUserInfo().getName() + " has been "
+ "given. Can't authenticate.");
}