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


images/download/attachments/189437495/Services_48-version-2-modificationdate-1731488630484-api-v2.png


(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


images/download/attachments/189437495/Services_49-version-2-modificationdate-1731488674915-api-v2.png


(1) Hier können Listen-Adressen (Horch-Adressen) hinzugefügt oder entfernt werden.

(2) Änderung der Whitelist.

(3) Änderung der Blacklist.

Einstellungen ConnectionManager


images/download/attachments/189437495/Services_50-version-2-modificationdate-1731488689865-api-v2.png


(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


images/download/attachments/189437495/2196-version-1-modificationdate-1731487171403-api-v2.png


Hier können vorhandene SSH-Sessions beendet werden.