Set up RXA for Liberty collective operations
Liberty collective controllers use the Tivoli Remote Execution and Access (RXA) toolkit to perform selected operations on collective members, including remote start and stop of servers.
To use RXA we must install and enable SSH on each machine.
Set up UNIX machines
RXA does not supply SSH code for UNIX operating systems. Ensure that SSH is installed and enabled on all machines that include collective members.
Linux and UNIX | OpenSSH 3.6.1 |
AIX | OpenSSH 4.7 or Oracle SSH 1.1 |
In all UNIX environments except Solaris, the Bourne shell (sh) is used. On Solaris machines, the Korn shell (ksh) is used instead due to problems encountered with the Bourne shell (sh).
To use password-based authentication for SSH communications, edit...
-
/etc/ssh/sshd_config
...and file on each machine that includes one or more collective members and set...
-
PasswordAuthentication = yes
The default value for the PasswordAuthentication property is no. After we change this setting, stop and restart the SSH daemon using the following commands:
-
/etc/init.d/sshd stop
/etc/init.d/sshd start
(Linux) Some collective controller commands require that the path to the Java installation jre/bin directory be available in the .bashrc file, so set a path to jre/bin in the .bashrc file.
If remote access to a member machine fails, ensure we can ssh from the controller machine to the member machine that uses the same authentication method used when you set up the collective. If ssh is successful and we still have problems with remote access, also ensure we can scp or sftp from the controller machine to the member. It's possible that scp or sftp can fail even when ssh keys are set up correctly. For example, sftp might fail with the message Received message too long
if a .bashrc script on the remote machine prints a message. For remote access to be successful, we must either remove the message or change the sftp subsystem in the sshd_config file to use the internal_sftp subsystem.
See also: SSH public-key authentication
Set up IBM i machines
Using SSH public/private key authentication to IBM i machines is not supported.
Set up macOS machines
On Mac systems, SSH is disabled by default. To enable SSH, enable remote login under system preferences. Select System Preferences > Sharing and check Remote Login.
Set up Windows machines
(Windows) The Server Message Block protocol (SMBv1) is insecure and should be disabled. As an alternative, install Cygwin as a SSH service on collective members and use SSH to connect to them. RXA is not compatible with Windows OpenSSH. Disable Windows OpenSSH before installing and running Cygwin.
- Ensure that the collective controller is running with an IBM JDK.
RXA requires some security classes in the IBM JDK, and that are not available in the Oracle or OpenJDK JVMs.
- Ensure the system environment variables JAVA_HOME and PATH are set to the Java path (jre directory) on the computer. Some collective controller commands require that the path to the Java installation jre\bin directory is available in the System path, so also add a path to the jre\bin directory.
In Windows, system environment variables are visible only inside the shell that RXA connects to. Set PATH in the command window is not sufficient. We must set PATH in the system variable section of the environment variables, or use -hostJavaHome <PATH TO IBM JAVA> with the updateHost option.
(z/OS) See Set the JAVA_HOME variable for Liberty collective members and controllers.
- Ensure that the server.xml file of each server to be managed specifies the account user name and password.
Specify the user name and password in a hostAuthInfo statement in the server.xml file:
<hostAuthInfo rpcUser="Windows_user_ID" rpcUserPassword="Windows_user_password" />
- Enable connections to member servers on Windows computers.
To enable connections to Windows members, we can use a third-party SSH service such as Cygwin on the Windows member computer or change Windows operating system settings on a member computer that does not have an SSH service installed.
- Use a third-party SSH service such as Cygwin on the Windows member computer.
If the member computer uses an SSH service, the controller connects the member server with SSH. Specify a hostAuthInfo rpcUserHome parameter and the RPC user name and password in the member server.xml file because the third-party SSH service might have a different home directory than the one Windows uses:
<hostAuthInfo rpcUser="Windows_user_ID" rpcUserPassword="Windows_user_password" rpcUserHome="user_home_directory"/>
For user_home_directory, specify the user home for the SSH service, for example: rpcUserHome="C:\cygwin\home\user1". The SSH public and private key pair is generated in the .ssh directory under this user home directory.
- Use a third-party SSH service such as Cygwin on the Windows member computer.
- If the Windows member computer does not use a third-party SSH service such as Cygwin, change the Windows operating system settings of the member computer to enable connections.
- Ensure that the user account belongs to the Administrators group.
Many RXA operations require access to resources that standard user accounts cannot access. Thus, the configuration of a collective member must include the name and password of a Windows user who belongs to the Administrators group.
- Ensure File and Printer Sharing for Microsoft
Networks is enabled for the network stack.
- Click Start > Control Panel > Network and Sharing Center > Change advanced sharing settings.
- Select Turn on file and printer sharing.
- Save the changes.
Ensure that file sharing operations (on port 445) are not blocked on machines that include collective controllers or collective members.
See the documentation for the operating system or the firewall software.
- Start the Remote Registry service.The Remote Registry service must be running on computers
that include collective members for the collective controllers to remotely run commands and scripts.
- Click Start > Administrative Tools > Services.
- Within the list of services, locate the Remote Registry entry and verify that the status is Started. If we intend to use RXA regularly, consider setting the Remote Registry Startup type property to Automatic.
- Disable User Account Control.
- Click Start > Control Panel > User Accounts > Change User Account Control settings.
- Set the User Account Control level to Never notify.
- Click OK.
- Restart the computer for the changes to take effect.
- Ensure that the user account belongs to the Administrators group.
- Use an SSH daemon (sshd) instead of Windows SMB1 protocol.
RXA uses SMB1 protocol to connect Windows targets. If SMB1 protocol is disabled on the target, the connection fails. If SMB1 is disabled on a Windows target, RXA can still connect to that target if an SSH daemon is installed, such as sshd from Cygwin. To learn how to enable and disable the SMB1 protocol, see https://support.microsoft.com/en-us/help/2696547/how-to-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and-windows-server.
What to do next
If we modify the server.xml of a managed server, manually start the server so that it publishes the new data to the controller.
After we enable RXA, test the host configuration and verify RXA connectivity.
We can use the testConnection command to verify connectivity. The command validates RXA connectivity between the controller and the host where the member resides.
wlp/bin/collective testConnection hostName --host=controllerHost --port=controllerHTTPSPort --user=controllerAdmin --password=controllerAdminPassword--autoAcceptCertificates
Alternatively, use the simplified --controller option to provide the controller specific information
wlp/bin/collective testConnection hostName --controller=user[:password]@host:HttpsPort --autoAcceptCertificates