From 4e35d1d88f984732a923576f3fb2c0259eb92429 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Wed, 8 May 2019 09:38:32 +0800
Subject: [PATCH] correct the ssh option

---
 TES/tes/sshwrapper/__init__.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/TES/tes/sshwrapper/__init__.py b/TES/tes/sshwrapper/__init__.py
index c39b082..8adf643 100644
--- a/TES/tes/sshwrapper/__init__.py
+++ b/TES/tes/sshwrapper/__init__.py
@@ -92,7 +92,7 @@ class Ssh:
         if mode is None:
             sshcmd = ["ssh", '-o', 'StrictHostKeyChecking=no',
                       '-o', 'UserKnownHostsFile=/dev/null',
-                      '-o', 'UpdateHostsFile=no',
+                      '-o', 'UpdateHostKeys=no',
                       "-S", ctrlsocket,
                       "-M", '-o', 'ControlPersist=10m',
                       '-p', sshport, '-N','-l', user, host]
@@ -173,7 +173,7 @@ class Ssh:
         exec_p = subprocess.Popen(['sftp', '-b', '-','-o', 'Stricthostkeychecking=no',
                                     
                                    '-o', 'UserKnownHostsFile=/dev/null',
-                                   '-o', 'UpdateHostsFile=no',
+                                   '-o', 'UpdateHostKeys=no',
                                    '-P', sshport, '-o', 'ControlPath={}'.format(ctrlsocket),
                                    '{}@{}'.format(user, host)],
                                   stdout=subprocess.PIPE, stderr=subprocess.PIPE,
@@ -223,7 +223,7 @@ class Ssh:
             changepath="."
         exec_p = subprocess.Popen(['sftp', '-b', '-','-o', 'Stricthostkeychecking=no',
                                    '-o', 'UserKnownHostsFile=/dev/null',
-                                   '-o', 'UpdateHostsFile=no',
+                                   '-o', 'UpdateHostKeys=no',
                                    '-P', sshport, '-o', 'ControlPath={}'.format(ctrlsocket),
                                    '{}@{}'.format(user, host)],
                                   stdout=subprocess.PIPE, stderr=subprocess.PIPE,
@@ -280,13 +280,13 @@ class Ssh:
             # we are executing this command on the login node, so no more magic is needed
             sshcmd = ['ssh', '-o', 'Stricthostkeychecking=no', 
                       '-o', 'UserKnownHostsFile=/dev/null',
-                      '-o', 'UpdateHostsFile=no',
+                      '-o', 'UpdateHostKeys=no',
                       '-S', ctrlsocket, '-p', sshport,
                       '-l', user, host, cmd]
         else:
             # we are executing on a node (e.g. a compute/batch node) using a bastion (e.g. login node)
             # at the moment I'll assume the ssh port for the batch host is the same as the ssh port for the bastion/login host
-            proxycmd = "ssh -o UserKnownHostsFile=/dev/null -o UpdateHostsFile=no -o Stricthostkeychecking=no {user}@{bastion} -W {host}:{sshport} -S {ctrlsocket}".format(
+            proxycmd = "ssh -o UserKnownHostsFile=/dev/null -o UpdateHostKeys=no -o Stricthostkeychecking=no {user}@{bastion} -W {host}:{sshport} -S {ctrlsocket}".format(
                 user=user, host=host,
                 ctrlsocket=ctrlsocket,
                 sshport=sshport,
@@ -294,7 +294,7 @@ class Ssh:
             sshcmd = ['ssh', '-o', 'Stricthostkeychecking=no',  
                       '-o', "ProxyCommand={}".format(proxycmd),
                       '-o', 'UserKnownHostsFile=/dev/null',
-                      '-o', 'UpdateHostsFile=no',
+                      '-o', 'UpdateHostKeys=no',
                       '-p', bastionsshport, '-l', user, bastion, cmd]
         exec_p = subprocess.Popen(sshcmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,stdin=subprocess.PIPE,env=env)
 
@@ -339,7 +339,7 @@ class Ssh:
             # port forward to the batch node
             sshcmd = ['ssh', '-o', 'Stricthostkeychecking=no', '-N',
                       '-o', 'UserKnownHostsFile=/dev/null',
-                      '-o', 'UpdateHostsFile=no',
+                      '-o', 'UpdateHostKeys=no',
                       '-L', '{localport}:{batchhost}:{port}'.
                       format(port=port, localport=localport, batchhost=batchhost),
                       '-O', 'forward', '-S', ctrlsocket,
@@ -348,7 +348,7 @@ class Ssh:
             # Create an ssh tunnel to the batch node using a proxycommand.
             # The proxy command should utilise
             # the existing control master connection
-            proxycmd = "ssh -o UserKnownHostsFile=/dev/null -o UpdateHostsFile=no -o Stricthostkeychecking=no {user}@{host} -W {batchhost}:22 -S {ctrlsocket}".format(
+            proxycmd = "ssh -o UserKnownHostsFile=/dev/null -o UpdateHostKeys=no -o Stricthostkeychecking=no {user}@{host} -W {batchhost}:22 -S {ctrlsocket}".format(
                 user=user, host=host,
                 ctrlsocket=ctrlsocket,
                 batchhost=batchhost)
@@ -356,7 +356,7 @@ class Ssh:
                       '-L', '{localport}:localhost:{port}'.
                       format(port=port, localport=localport),
                       '-o', 'UserKnownHostsFile=/dev/null',
-                      '-o', 'UpdateHostsFile=no',
+                      '-o', 'UpdateHostKeys=no',
                       '-o', "ProxyCommand={}".format(proxycmd),
                       '-p', sshport, '-l', user, batchhost]
 
-- 
GitLab