From 8ea9fad227f546375552ffc330188493fc511197 Mon Sep 17 00:00:00 2001
From: Stefan Bodewig
Date: Thu, 16 Oct 2003 11:21:14 +0000
Subject: [PATCH] Make .ssh/known_hosts optional
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275511 13f79535-47bb-0310-9956-ffa450edef68
---
docs/manual/OptionalTasks/scp.html | 5 ++++-
docs/manual/OptionalTasks/sshexec.html | 6 +++++-
.../apache/tools/ant/taskdefs/optional/ssh/SSHBase.java | 4 +---
.../tools/ant/taskdefs/optional/ssh/SSHUserInfo.java | 9 ++++++++-
4 files changed, 18 insertions(+), 6 deletions(-)
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