sshproxy v2.0.0
Version 2.0.0 brings a lot of changes to sshproxy:
TL;DR: you have to migrate your configuration file(s) with sshproxyctl -c /etc/sshproxy/sshproxy.old.yaml convert > /etc/sshproxy/sshproxy.new.yaml
- configuration file:
-
all configuration options can now be set outside of overrides (those are
the default values) or inside an override -
users,groupsandroutesoptions have been replaced by the overrides
system:-
old style:
routes: default: some_default_options… service1: source: [an.ip.sshd.listens.to] some_sources_options… users: - alice,bob: some_users_options… groups: - foo,bar: some_groups_options… -
new style:
some_default_options… overrides: - match: - sources: [an.ip.sshd.listens.to] some_sources_options… - match: - users: [alice,bob] some_users_options… overrides: - match: - groups: [foo,bar] some_groups_options…
-
-
the
matchconditions of the overrides system can be combined. Here is an
example meaning "match if (the user is in the group foo and in the
group bar) or ((the user is alice or bob) and the user is
connected to an.ip.sshd.listens.to)":overrides: - match: - groups: [foo] groups: [bar] - users: [alice,bob] sources: [an.ip.sshd.listens.to] -
nodesets can now be used for the
destkey -
if
libnodeset.so(from https://github.com/fdiakh/nodeset-rs) is found, it
allows the use of clustershell groups where nodesets are allowed -
new option:
blocking_commandruns a command before starting the ssh
connection to the destination. If the command does not return 0, the
connection is aborted
- command line interface:
sshproxyctl converthas been added: it converts your old v1
configuration file to the v2 format. Can be used like this:
sshproxyctl -c /etc/sshproxy/sshproxy.old.yaml convert > /etc/sshproxy/sshproxy.new.yaml- in all the tables,
HostandPortcolumns are now merged into a single
Host:Port sshproxyctl get_confighas been removed and replaced by
sshproxyctl show configsshproxyctl show hostsandsshproxyctl show users -allnow display
persist infosshproxyctl enable HOST [PORT]has been removed and replaced by
sshproxyctl enable -all|-host HOST [-port PORT]sshproxyctl disable HOST [PORT]has been removed and replaced by
sshproxyctl disable -all|-host HOST [-port PORT]sshproxyctl forget HOST [PORT]has been removed and replaced by
sshproxyctl forget host -all|-host HOST [-port PORT]sshproxyctl error_banner(without any parameter) has been removed and
replaced bysshproxyctl forget error_bannersshproxyctl forget persist [-user USER] [-service SERVICE] [-host HOST] [-port PORT]
has been added