Liberty-Server-Host-Informationen überschreiben

Mit dem Feature collectiveMember-1.0 kann ein Server über den Verbundcontroller verwaltet werden. Die meisten Server-Host-Informationen können automatisch erkannt werden. In bestimmten Szenarien müssen Sie jedoch zusätzliche Hostinformationen angeben, damit der Verbundcontroller eine Verbindung zu einem Server herstellen kann.

Fügen Sie der Datei server.xml das folgende Element hinzu, um die Überschreibung der Hostinformationen zu aktivieren:
<hostAuthInfo rpcPort="SSH-Port"
          rpcUser="Benutzer-ID"
          rpcUserPassword="Kennwort"
          rpcUserHome="Benutzerausgangsverzeichnis"
          rpcHost="Hostname"
          sudoUser="sudo-Benutzer"
          sudoPassword="sudo-Benutzerkennwort"
          sshPublicKeyPath="Pfad_des_öffentlichen_Schlüssels"
          sshPrivateKeyPath="Pfad_des_privaten_Schlüssels"
          sshPrivateKeyPassword="Kennwort_für_privaten_Schlüssel"
          useHostCredentials="true_or_false"/>
rpcPort
Dieser Parameter gibt den Port für den RPC-Mechanismus an (standardmäßig ist das SSH-Port 22). Wenn Ihr System einen vom Standard abweichenden Port verwendet, legen Sie diesen Wert dementsprechend fest. Wenn dieser Wert nicht angegeben wird, ist der Standardwert 22.
rpcUser
Dieser Parameter gibt die Benutzer-ID an, die vom Verbundcontroller zum Herstellen einer Verbindung mit dem Server verwendet wird. Wenn der Host SSH nicht unterstützt oder die Verwendung von SSH-Schlüsseln nicht gewünscht wird, können Sie mit diesem Parameter einen Benutzer für Betriebssystemanmeldung angeben. Wenn Sie sich beispielsweise mit der Benutzer-ID myID beim Host anmelden, geben Sie rpcUser="myID" an. Wenn dieser Wert nicht angegeben wird, ist der Standardwert System.getProperty("user.name").
rpcUserPassword
Dieser Parameter gibt das Kennwort für die angegebene Benutzer-ID an. Wenn Sie sich beispielsweise mit der Benutzer-ID myID und dem Kennwort myPwd beim Host anmelden, geben Sie rpcUser="myID" und rpcUserPassword="myPwd" an. Wenn dieser Wert nicht angegeben wird, generiert der Server ein SSH-Schlüsselpaar, oder er verwendet für die Verbindung das SSH-Schlüsselpaar, das mit den Parametern privateKeyPath und publicKeyPath angegeben wird. Wenn SSH nicht auf dem Server installiert ist (z. B. auf einem Windows- oder OS/400-Betriebssystem), ist das Kennwort erforderlich.
rpcUserHome
Dieser Parameter gibt das Ausgangsverzeichnis des Benutzers an. Wenn dieser Wert nicht angegeben wird, ist der Standardwert System.getProperty("user.home"). Wenn rpcUser angegeben wird, müssen Sie auch rpcUserHome angeben.
rpcHost
Dieser Parameter gibt den Host an, auf dem der RPC-Mechanismus als empfangsbereit konfiguriert ist. Wird dieser Wert nicht angegeben, ist der Standardwert der Wert der Variablen defaultHostName. Wenn Ihr System einen anderen Host als defaultHostName verwendet, legen Sie diesen Wert entsprechend fest.
sudoUser
Wenn dieser Wert angegeben wird, kann der Verbundcontroller Befehle mit den Rechten einer anderen Benutzer-ID ausführen ("sudo") anstelle der Benutzer-ID, die für die Verbindung verwendet wird. Dieser Parameter gilt nur für Server, auf denen ein SSH-Server installiert ist. Dieser Parameter hat keinen Standardwert.
sudoPassword
Dieser Parameter gibt das Kennwort für den sudo-Benutzer an, der mit dem Parameter sudoUser angegeben wird. Dieser Parameter gilt nur für Server, auf denen ein SSH-Server installiert ist. Dieser Parameter hat keinen Standardwert.
sshPublicKeyPath
Dieser Parameter gibt den Pfad und den Dateinamen einer benutzerdefinierten Datei mit öffentlichem Schlüssel an. Wenn dieser Wert nicht angegeben wird, ist der Standardwert ${server.output.dir}/resources/security/ssh/id_rsa.pub. Wenn die angegebene Datei (oder Standarddatei) nicht vorhanden ist, wird eine neue Datei mit öffentlichem Schlüssel generiert.
sshPrivateKeyPath
Dieser Parameter gibt den Pfad und den Dateinamen einer benutzerdefinierten Datei mit privatem Schlüssel an. Wenn dieser Wert nicht angegeben wird, ist der Standardwert ${server.output.dir}/resources/security/ssh/id_rsa. Wenn die angegebene Datei (oder Standarddatei) nicht vorhanden ist, wird eine neue Datei mit privatem Schlüssel generiert.
sshPrivateKeyPassword
Dieser Parameter gibt das Kennwort für den privaten Schlüssel an. Dieser Parameter hat keinen Standardwert.
useHostCredentials
Dieser Parameter gibt an, ob Befehle von Verbund-Member-Servern RPC-Berechtigungsnachweise vom Host übernehmen. Die Standardeinstellung ist false, d. h., der Benutzer muss RPC-Berechtigungsnachweise angeben, damit der Controller das Member starten oder stoppen kann. Bei Verwendung der Einstellung true übernehmen Befehle von Verbund-Member-Servern RPC-Berechtigungsnachweise von der Hostregistrierung und ignorieren alle anderen RPC-Berechtigungsnachweise im Konfigurationselement hostAuthInfo.

Beispiele

Szenario 1: Der Server ist auf einem Windows-Betriebssystem installiert, SSH ist nicht installiert.
<hostAuthInfo rpcUserPassword="myPassword"/>
Szenario 2: SSH ist auf dem Server installiert, SSH wird an Port 2222 ausgeführt.
<hostAuthInfo rpcPort="2222"/>
Szenario 3: Befehle müssen unter einer anderen Benutzer-ID ausgeführt werden.
<hostAuthInfo sudoUser="anotherUser" sudoPassword="anotherPassword"/>
Szenario 4: Der Server ist unter einem Windows-Betriebssystem installiert und ein SSH-Service wie Cygwin ist installiert. Mit der folgenden Serverkonfiguration stellt der Controller eine Verbindung zum Member-Server mit SSH her. In diesem Fall ist es nicht erforderlich, die Windows-Benutzerkontensteuerung zu inaktivieren. Der Parameter <Ausgangsverzeichnis_des_Benutzers> ist das Standardausgangsverzeichnis des Benutzers, das standardmäßig festgelegt ist, wie z. B. C:\cygwin\home\bob.
<hostAuthInfo rpcUserHome="<Ausgangsverzeichnis_des_Benutzers>" />
Szenario 5: Der Verbundcontroller und das Member befinden sich auf separaten Hosts. Wenn Sie angeben möchten, dass das Member RPC-Berechtigungsnachweise vom Host übernimmt, setzen Sie useHostCredentials in der Datei server.xml des Members auf true. Führen Sie die folgenden Schritte aus, um das Member so zu konfigurieren, dass es RPC-Berechtigungsnachweise vom Host übernimmt. Dazu geben Sie --useHostCredentials im Befehl join an, der einen Server als Member mit dem Verbund verknüpft.
  1. Erstellen, konfigurieren und starten Sie den Verbundcontroller myController wie in Schritt 1 des Abschnitts Liberty-Verbund konfigurieren erläutert.
  2. Registrieren Sie den Host für das Member beim Verbund. Das Member und der Verbundcontroller befinden sich auf verschiedenen Hosts.

    In diesem Szenario verwendet der Befehl registerHost den Verbund-Controller-Host hostA.ibm.com mit der Portnummer 9443, den Benutzer admin und das Kennwort adminpwd. Der Befehl registriert den Member-Host hostB.ibm.com beim Verbund und legt rpcUser als Benutzer-ID für Betriebssystemanmeldung für den Member-Host osUser1 und rpcUserPassword als Kennwort für Betriebssystemanmeldung für den Member-Host osUser1Pwd fest. Führen Sie den Befehl registerHost auf dem Verbund-Controller-Host aus.

    wlp/bin/collective registerHost hostB.ibm.com --host=hostA.ibm.com --port=9443 --user=admin --password=adminpwd --rpcUser=osUser1 --rpcUserPassword=osUser1Pwd

    [18.0.0.1 und höher]Wenn Sie die Anzahl der erforderlichen Optionen verringern möchten, verwenden Sie die Option --controller anstelle der Optionen --user, --password, --host und --port.

    wlp/bin/collective registerHost hostB.ibm.com --controller=admin:adminpwd@hostA.ibm.com:9443 --rpcUser=osUser1 --rpcUserPassword=osUser1Pwd

    Geben Sie auf Anforderung y ein, um die Zertifikatskette zu akzeptieren. Nach der Registrierung wird die Nachricht Der Host hostB.ibm.com wurde erfolgreich registriert. angezeigt. Der Verbund-Controller-Host hat jetzt die ID und das Kennwort des Betriebssystembenutzers des Member-Hosts.

  3. Erstellen Sie auf dem Member-Host den Server myMember als Verbundmember.
    wlp/bin/server create myMember
  4. Fügen Sie den Server myMember dem Verbundcontroller hinzu und geben Sie an, dass Hostberechtigungsnachweise verwendet werden sollen. Geben Sie im Befehl join, der auf dem Member-Host ausgeführt wird, --useHostCredentials an, damit das Member RPC-Berechtigungsnachweise von der Hostregistrierung übernimmt.
    wlp/bin/collective join myMember --host=hostA.ibm.com --port=9443 --user=admin --password=adminpwd --keystorePassword=memberKSPassword --useHostCredentials

    [18.0.0.1 und höher]Wenn Sie die Anzahl der erforderlichen Optionen verringern möchten, verwenden Sie die Option --controller anstelle der Optionen --user, --password, --host und --port.

    wlp/bin/collective join myMember --controller=admin:adminpwd@hostA.ibm.com:9443 --keystorePassword=memberKSPassword --useHostCredentials
  5. Aktualisieren Sie die Datei server.xml des Members, wie in Schritt 2 im Abschnitt Liberty-Verbund konfigurieren beschrieben.

    Da Sie --useHostCredentials im Befehl join angegeben haben, setzt die für die Datei server.xml des Members generierte Konfiguration den Parameter useHostCredentials auf true:

    <!-- Authentifizierungskonfiguration des fernen Hosts -->
    <hostAuthInfo useHostCredentials="true" />
Wenn Sie die Option --useHostCredentials verwenden, müssen Sie die ID und das Kennwort des Betriebssystembenutzers in der Datei server.xml des Members nicht angeben, weil das Member Berechtigungsnachweise vom Host übernimmt. Später, wenn die ID bzw. das Kennwort des Betriebssystembenutzers des Member-Servers geändert wird, führen Sie den Befehl updateHost aus, um die Benutzer-ID bzw. das Kennwort zu ändern. Weitere Informationen zu den Befehlen registerHost und updateHost finden Sie im Artikel Host-Computer werden bei einem Liberty-Verbund registriert.

Symbol das den Typ des Artikels anzeigt. Referenzartikel

Dateiname: ragt_wlp_server_host.html