summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorPaul Lettington <paul@plett.co.uk>2021-09-03 23:39:22 +0100
committerChristian Poessinger <christian@poessinger.com>2021-09-07 09:38:09 +0200
commitd9f20383323a9dbebcef4d4393f692dff716700c (patch)
tree31208174910a0dcca38d0899d156a5fae715329e /src/conf_mode
parente1422069475db45060bc3f1da523de855c8be341 (diff)
downloadvyos-1x-d9f20383323a9dbebcef4d4393f692dff716700c.tar.gz
vyos-1x-d9f20383323a9dbebcef4d4393f692dff716700c.zip
login: T971 allow quoting in public-keys options
This patch allows the use of `&quot;` in ssh public-key options which unlocks the ability to set the `from` option in a way that sshd will accept to limit what hosts a user can connect from. (cherry picked from commit 6b52387190f8213e7e02060e894c6ddd4fb7cb3d)
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/system-login.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/conf_mode/system-login.py b/src/conf_mode/system-login.py
index 78830931d..8aa43dd32 100755
--- a/src/conf_mode/system-login.py
+++ b/src/conf_mode/system-login.py
@@ -246,7 +246,9 @@ def apply(login):
# XXX: Should we deny using root at all?
home_dir = getpwnam(user).pw_dir
render(f'{home_dir}/.ssh/authorized_keys', 'login/authorized_keys.tmpl',
- user_config, permission=0o600, user=user, group='users')
+ user_config, permission=0o600,
+ formater=lambda _: _.replace("&quot;", '"'),
+ user=user, group='users')
except Exception as e:
raise ConfigError(f'Adding user "{user}" raised exception: "{e}"')