SshService
Der SshService dient zum Datenaustausch über SSH. Der Service verhält sich wie ein SSH-Server, der die Lieferung oder die Abholung von Dateien per SFTP und SCP erlaubt.
XML-Konfiguration
Wichtiger Hinweis: Die Verfügbarkeit eines Services hängt von der erworbenen Lizenz ab und davon, ob der Service innerhalb der Konfigurationsdatei ./etc/factory.xml der Service-Factory eingetragen wurde (Änderungen erfordern Server-Neustart!). Dort finden Sie auch die zuständige Konfigurationsdatei für einen Service, ansonsten können Sie die Konfigurationsdatei des Services auch direkt in der GUI des Services bearbeiten (Änderungen erfordern Service-Neustart!).
Folgendes XML-Fragment setzt die zu verwendenden Services.
<
Set
name
=
"authenticationServiceName"
>AuthenticationService</
Set
>
<
Set
name
=
"communicationLogServiceName"
>CommunicationLogService</
Set
>
<
Set
name
=
"messageServiceName"
>MessageService</
Set
>
<
Set
name
=
"logServiceName"
>LogService</
Set
>
Die zu setzende Werte sollten selbsterklärend sein. Diese Angaben müssen nur geändert werden, wenn andere Services als im Standard verwendet werden sollen.
Folgendes XML-Fragment bestimmt das Log-Verhalten.
<
Set
name
=
"transferLogManager"
>SSHLog</
Set
>
<
Set
name
=
"appendTransferLog"
type
=
"boolean"
>true</
Set
>
<
Set
name
=
"transferLogDirectoryName"
>SSHLog</
Set
>
Die Parameter haben folgende Bedeutung.
transferLogManager |
Damit wird ein LogManager gewählt, an den Logmeldungen geschickt werden. Ist dieser Manager noch nicht vorhanden, wird er erzeugt. Im Standardfall, also auch ohne Angabe in der XML-Datei, wird ein FileLogManager mit dem Namen SSHLog erzeugt. |
appendTransferLog |
Hiermit kann eingestellt werden, ob beim Start des Services der eingestellte LogManager SSHLog eine neue Datei erzeugen oder an eine vorhandene Datei anfügen soll. |
transferLogDirectoryName |
Gibt an, in welches Verzeichnis der LogManager die Meldungen speichern soll. |
Setzen von Message-Queue und Message-Kontext
Folgendes XML-Fragment setzt die zu verwendenden Werte für Message-Queue und Message-Kontext.
<
Call
name
=
"setConsumerQueue"
>
<
Arg
>System</
Arg
>
<
Arg
>SSH</
Arg
>
</
Call
>
Das erste Argument ist der Kontext, das zweite die Queue.
Mit diesen Einstellungen werden SSH-Events, wie Dateiempfang oder Dateiabholung, an den MessageService weitergereicht.
Hinzufügen von Listen-Adressen
Folgendes XML-Fragment fügt eine Listen-Adresse hinzu.
<
Call
name
=
"addListenAddress"
>
<
Arg
>127.0.0.0</
Arg
>
<
Arg
type
=
"int"
>21</
Arg
>
</
Call
>
Setzen von White- und Blacklist
Man kann für den SshService eine Whitelist (IP-Adressen der Clients, die eine Verbindung per SSH aufbauen dürfen) und eine Blacklist (IP-Adressen der Clients, die keine Verbindung per SSH aufbauen dürfen) setzen. Folgendes XML-Fragment setzt eine Whitelist.
<
Call
name
=
"setWhiteAccessList"
>
<
Arg
>
<
New
class
=
"com.ebd.util.net.IpAccessList"
>
<
Call
name
=
"addIpAddress"
>
<
Arg
>IP address</
Arg
>
</
Call
>
<
Call
name
=
"addAddressRange"
>
<
Arg
>IP address</
Arg
>
<
Arg
>netmask</
Arg
>
</
Call
>
</
New
>
</
Arg
>
</
Call
>
Mit addIpAddress kann eine bestimmte IP-Adresse, mit addAddressRange kann, über IP und zugehöriger Netmask, ein Adressbereich hinzugefügt werden. Das Setzen einer Blacklist erfolgt analog mit dem Aufruf setBlackAccessList.
Setzen von ConnectionManagerSettings
Folgendes XML-Fragment setzt den ConnectionManager.
<
Set
name
=
"sSHConnectionManager"
>
<
New
class
=
"com.ebd.hub.services.ssh.maverick.ConnectionManager"
>
<
Set
name
=
"sshRoot"
>./ssh/</
Set
>
<
Set
name
=
"hostKeyFilenameRSA"
>./etc/ssh_host_rsa_key</
Set
>
<
Set
name
=
"hostKeyFilenameDSA"
>./etc/ssh_host_rsa_key</
Set
>
<
Set
name
=
"logDebugMessage"
type
=
"boolean"
>true</
Set
>
<
Set
name
=
"notifyReceivedEmptyFiles"
>false</
Set
>
<
Set
name
=
"maximumUserConnections"
>5</
Set
>
</
New
>
</
Set
>
Der Parameter sshRoot gibt das Standard-Userverzeichnis für den SSH-Server an.
Die Parameter hostKeyFilenameRSA und hostKeyFilenameDSA geben die Dateien an, aus denen die für die verschlüsselte Kommunikation zu verwendenden Schlüssel gelesen werden sollen. Sind diese Dateien nicht vorhanden sind, werden automatisch neue Dateien mit neuen Keys erzeugt.
Mit logDebugMessage kann das Logverhalten der eigentlichen SSH-Verbindung gesteuert werden.
maximumUserConnections legt global die maximale Anzahl paralleler Verbindungen eines Benutzer fest, wobei 0 für unlimitiert steht.
Akzeptieren leerer Dateien
Damit der Service auch leere Dateien akzeptiert (0 Bytes), muss die Option notifyReceivedEmptyFiles auf true gesetzt werden.
Allgemeine Einstellungen
(1) Hier können die für den Betrieb des SshServices benötigten Services eingestellt werden.
(2) Änderung des Logverhaltens.
(3) Hier erfolgt die Auswahl von LogManager und zugehörigem Verzeichnis.
(4) An diesen Kontext und Queuename reicht der SshService SSH-Events weiter.
Main-Interface-Einstellungen
(1) Hier können Listen-Adressen (Horch-Adressen) hinzugefügt oder entfernt werden.
(2) Änderung der Whitelist.
(3) Änderung der Blacklist.
Einstellungen ConnectionManager
(1) Hier kann das Basisverzeichnis des ConnectionManagers geändert werden.
(2) Die Ausgabe von Debugmeldungen des ConnectionMangers ist hier einstellbar.
(3) Hier erfolgen Änderungen der Angaben der Dateien zur Speicherung der Keys. Sind die Dateien nicht vorhanden, werden neue Dateien mit zugehörigen Keys erzeugt.
Sessions
Hier können vorhandene SSH-Sessions beendet werden.