Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C
during file operations.
This commit is contained in:
parent
a7d2e729f8
commit
642b183fb6
1 changed files with 7 additions and 1 deletions
|
@ -381,7 +381,13 @@ class Connection(object):
|
||||||
|
|
||||||
self.ssh.load_system_host_keys()
|
self.ssh.load_system_host_keys()
|
||||||
self.ssh._host_keys.update(self.ssh._system_host_keys)
|
self.ssh._host_keys.update(self.ssh._system_host_keys)
|
||||||
self._save_ssh_host_keys(self.keyfile)
|
|
||||||
|
# save the new keys to a temporary file and move it into place
|
||||||
|
# rather than rewriting the file
|
||||||
|
tmp_keyfile = tempfile.NamedTemporaryFile()
|
||||||
|
self._save_ssh_host_keys(tmp_keyfile)
|
||||||
|
atomic_move(tmp_keyfile.name, self.keyfile)
|
||||||
|
tmp_keyfile.close()
|
||||||
|
|
||||||
except:
|
except:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue