diff options
-rw-r--r-- | interface-definitions/ssh.xml | 9 | ||||
-rwxr-xr-x | src/conf-mode/vyos-config-ssh.py | 18 |
2 files changed, 12 insertions, 15 deletions
diff --git a/interface-definitions/ssh.xml b/interface-definitions/ssh.xml index 7b16939c6..79dff0548 100644 --- a/interface-definitions/ssh.xml +++ b/interface-definitions/ssh.xml @@ -57,10 +57,11 @@ </leafNode> <leafNode name="ciphers"> <properties> - <help>Allowed ciphers</help> + <help>Specifies allowed Ciphers</help> <completionHelp> <script>ssh -Q cipher | tr '\n' ' '</script> </completionHelp> + <multi/> </properties> </leafNode> <leafNode name="disable-host-validation"> @@ -75,10 +76,11 @@ </leafNode> <leafNode name="key-exchange"> <properties> - <help>Key exchange algorithms</help> + <help>Specifies available KEX (Key Exchange) algorithms</help> <completionHelp> <script>ssh -Q kex | tr '\n' ' '</script> </completionHelp> + <multi/> </properties> </leafNode> <leafNode name="listen-address"> @@ -126,10 +128,11 @@ </leafNode> <leafNode name="mac"> <properties> - <help>Allowed message authentication algorithms</help> + <help>Specifies available MAC (message authentication code) algorithms</help> <completionHelp> <script>ssh -Q mac | tr '\n' ' '</script> </completionHelp> + <multi/> </properties> </leafNode> <leafNode name="port"> diff --git a/src/conf-mode/vyos-config-ssh.py b/src/conf-mode/vyos-config-ssh.py index e7528ae83..d09219caa 100755 --- a/src/conf-mode/vyos-config-ssh.py +++ b/src/conf-mode/vyos-config-ssh.py @@ -89,7 +89,7 @@ ListenAddress {{ a }} # Specifies the ciphers allowed. Multiple ciphers must be comma-separated. # # NOTE: As of now, there is no 'multi' node for 'ciphers', thus we have only one :/ -Ciphers {{ ciphers }} +Ciphers {{ ciphers | join(",") }} {% endif %} {% if mac -%} @@ -98,7 +98,7 @@ Ciphers {{ ciphers }} # comma-separated. # # NOTE: As of now, there is no 'multi' node for 'mac', thus we have only one :/ -MACs {{ mac }} +MACs {{ mac | join(",") }} {% endif %} {% if key_exchange -%} @@ -106,7 +106,7 @@ MACs {{ mac }} # be comma-separated. # # NOTE: As of now, there is no 'multi' node for 'key-exchange', thus we have only one :/ -KexAlgorithms {{ key_exchange }} +KexAlgorithms {{ key_exchange | join(",") }} {% endif %} {% if allow_users -%} @@ -175,9 +175,7 @@ def get_config(): ssh['allow-root'] = 'yes' if conf.exists('ciphers'): - # TODO: OpenSSH supports having multiple Ciphers configured. VyOS CLI - # yet has no multi node for this. See T632 in phabricator. - ciphers = conf.return_value('ciphers') + ciphers = conf.return_values('ciphers') ssh.setdefault('ciphers', ciphers) if conf.exists('disable-host-validation'): @@ -187,9 +185,7 @@ def get_config(): ssh['password_authentication'] = 'no' if conf.exists('key-exchange'): - # TODO: OpenSSH supports having multiple KEYX methods configured. VyOS CLI - # yet has no multi node for this. See T632 in phabricator. - kex = conf.return_value('key-exchange') + kex = conf.return_values('key-exchange') ssh.setdefault('key_exchange', kex) if conf.exists('listen-address'): @@ -208,9 +204,7 @@ def get_config(): ssh['log_level'] = conf.return_value('loglevel') if conf.exists('mac'): - # TODO: OpenSSH supports having multiple MACs configured. VyOS CLI - # yet has no multi node for this. See T632 in phabricator. - mac = conf.return_value('mac') + mac = conf.return_values('mac') ssh.setdefault('mac', mac) if conf.exists('port'): |