![]() |
It is possible to divide the Tectia Server configuration into several files. You can define external XML files containing sub-configurations for example with department-specific or user-group-specific settings. This can make the configuration easier to manage as it is in smaller parts, and the sub-configuration files can be used repeatedly in several places.
![]() | Note |
|---|---|
Configuration files consisting of several XML-files must be maintained manually, because split configuration files cannot be edited with the Tectia Server Configuration GUI. |
The sub-configuration files must be declared as external SYSTEM entities within the
DOCTYPE element of the ssh-server-config.xml file. For example the
entity-name below:
<!DOCTYPE secsh-server SYSTEM "/opt/tectia/share/auxdata/ssh-server-ng/ssh-server-ng-config-1.dtd" [ <!ENTITY entity-name SYSTEM "sub-config-file.xml">
The defined entity can then be used in the main configuration file instead of defining
all the settings there. The server configuration will read the contents of the
sub-configuration file in the place of the entity. So the sub-configuration file contents
must be designed so that they produce a valid XML structure in the
ssh-server-config.xml file.
In this example we have a sub-configuration file named
group-example-rules.xml, located in sub-directory
subconfigs/, and with the following contents:
<terminal action="deny" /> <subsystem type="sftp" application="sft-server-g3" chroot="%homedir%" /> <tunnel-agent action="deny" /> <tunnel-x11 action="deny" /> <tunnel-local action="deny" /> <tunnel-remote action="deny" />
In the example below, we first declare the sub-configuration file (and its location) as
an external entity in the beginning of the ssh-server-config.xml file,
and then use the group-A-rules entity in the actual configuration as
follows:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE secsh-server SYSTEM
"/opt/tectia/share/auxdata/ssh-server-ng/ssh-server-ng-config-1.dtd" [
<!ENTITY group-A-rules SYSTEM "subconfigs/group-example-rules.xml">
]>
<secsh-server>
...
<services>
<group name="example">
<selector>
<user-group name="example"/>
</selector>
</group>
...
<rule group="example">
&group-A-rules;
</rule>
...
</services>
</secsh-server>