summaryrefslogtreecommitdiff
path: root/cloudinit/ssh_util.py
diff options
context:
space:
mode:
authorTatiana Kholkina <holkina@selectel.ru>2018-02-01 18:08:15 +0300
committerChad Smith <chad.smith@canonical.com>2018-02-12 10:20:09 -0700
commit89fc8ea847302b45884aa3ac7dbc6e2e261c7462 (patch)
tree1eadb6490641b14fac8ded9bcc919f6134a71e76 /cloudinit/ssh_util.py
parenta48cab85b23b542f4bfe9072282b573aa59987ab (diff)
downloadvyos-cloud-init-89fc8ea847302b45884aa3ac7dbc6e2e261c7462.tar.gz
vyos-cloud-init-89fc8ea847302b45884aa3ac7dbc6e2e261c7462.zip
Fix ssh keys validation in ssh_util
This fixes a bug where invalid keys would sneak into authorized_keys.
Diffstat (limited to 'cloudinit/ssh_util.py')
-rw-r--r--cloudinit/ssh_util.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/cloudinit/ssh_util.py b/cloudinit/ssh_util.py
index b95b956f..882517f5 100644
--- a/cloudinit/ssh_util.py
+++ b/cloudinit/ssh_util.py
@@ -171,16 +171,13 @@ def parse_authorized_keys(fname):
def update_authorized_keys(old_entries, keys):
- to_add = list(keys)
-
+ to_add = list([k for k in keys if k.valid()])
for i in range(0, len(old_entries)):
ent = old_entries[i]
if not ent.valid():
continue
# Replace those with the same base64
for k in keys:
- if not ent.valid():
- continue
if k.base64 == ent.base64:
# Replace it with our better one
ent = k