diff --git a/docs/manual/OptionalTasks/scp.html b/docs/manual/OptionalTasks/scp.html
index 2f37c032f..c248c5034 100644
--- a/docs/manual/OptionalTasks/scp.html
+++ b/docs/manual/OptionalTasks/scp.html
@@ -53,7 +53,10 @@ jsch-0.1.8.
trust |
- This trusts all unknown hosts if set to yes/true. |
+ This trusts all unknown hosts if set to yes/true.
+ Note If you set this to false (the default), the
+ host you connect to must be listed in your knownhosts file, this
+ also implies that the file exists. |
No, defaults to No. |
diff --git a/docs/manual/OptionalTasks/sshexec.html b/docs/manual/OptionalTasks/sshexec.html
index b5a4d4d02..1f039f42e 100644
--- a/docs/manual/OptionalTasks/sshexec.html
+++ b/docs/manual/OptionalTasks/sshexec.html
@@ -46,7 +46,11 @@ jsch-0.1.8 and won't work with versions of jsch earlier than
trust |
- This trusts all unknown hosts if set to yes/true. |
+
+ This trusts all unknown hosts if set to yes/true.
+ Note If you set this to false (the default), the
+ host you connect to must be listed in your knownhosts file, this
+ also implies that the file exists. |
No, defaults to No. |
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHBase.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHBase.java
index cbb97eaac..385f6a9b9 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHBase.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHBase.java
@@ -77,7 +77,6 @@ public abstract class SSHBase extends Task implements LogListener {
private String host;
private String keyfile;
private String knownHosts;
- private boolean trust = false;
private int port = SSH_PORT;
private boolean failOnError = true;
private SSHUserInfo userInfo;
@@ -185,7 +184,6 @@ public abstract class SSHBase extends Task implements LogListener {
public void init() throws BuildException {
super.init();
this.knownHosts = System.getProperty("user.home") + "/.ssh/known_hosts";
- this.trust = false;
this.port = SSH_PORT;
}
@@ -195,7 +193,7 @@ public abstract class SSHBase extends Task implements LogListener {
jsch.addIdentity(userInfo.getKeyfile());
}
- if (knownHosts != null) {
+ if (!userInfo.getTrust() && knownHosts != null) {
log("Using known hosts: " + knownHosts, Project.MSG_DEBUG);
jsch.setKnownHosts(knownHosts);
}
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
index b2ae766e4..4d002dcfd 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
@@ -70,7 +70,7 @@ public class SSHUserInfo implements UserInfo {
public SSHUserInfo() {
super();
- this.trustAllCertificates = true;
+ this.trustAllCertificates = false;
}
public SSHUserInfo(String password, boolean trustAllCertificates) {
@@ -146,6 +146,13 @@ public class SSHUserInfo implements UserInfo {
this.trustAllCertificates = trust;
}
+ /**
+ * @return whether to trust or not.
+ */
+ public boolean getTrust() {
+ return this.trustAllCertificates;
+ }
+
/**
* Returns the passphrase.
* @return String