Alteración temporal de información de host de servidor de Liberty
La característica collectiveMember-1.0 permite que el servidor esté gestionado por el controlador de colectivo. Gran parte de la información de host de servidor puede detectarse automáticamente. No obstante, en determinados casos, debe proporcionar información de host adicional para que el controlador de colectivo pueda establecer una conexión al servidor.


Para habilitar la alteración temporal de la información de host, añada el elemento siguiente al archivo server.xml:
<hostAuthInfo
rpcPort="puerto_ssh"
rpcUser="ID_usuario"
rpcUserPassword="contraseña"
rpcUserHome="dir_inicial_usuario"
rpcHost="nombre_host"
sudoUser="usuario_sudo"
sudoPassword="contraseña_usuario_sudo"
sshPublicKeyPath="vía_clave_publica"
sshPrivateKeyPath="vía_clave_privada"
sshPrivateKeyPassword="contraseña_clave_privada"
useHostCredentials="true_or_false"/>
- rpcPort
- Este parámetro especifica el puerto del mecanismo RPC, que es el puerto SSH 22 de forma predeterminada. Si el sistema utiliza un puerto no estándar, establezca este valor como corresponda. Si no se especifica este valor, el valor predeterminado es 22.
- rpcUser
- Este parámetro especifica el ID de usuario que el controlador de colectivo utilizará para conectar al servidor. Si el host no admite SSH, o el uso de claves SSH no es aconsejable, puede utilizar este parámetro para especificar un usuario de inicio de sesión en el sistema operativo. Por ejemplo, si inicia la sesión en el host con el usuario myID, especificará rpcUser="myID". Si no se especifica este valor, el valor predeterminado es System.getProperty("user.name").
- rpcUserPassword
- Este parámetro especifica la contraseña para el ID de usuario especificado. Por ejemplo, si inicia la sesión en el host con el usuario myID y la contraseña myPwd, especificará rpcUser="myID" y rpcUserPassword="myPwd". Si no se especifica este valor, el servidor generará un par de claves SSH o utilizará el par de claves SSH para la conexión que se especifica utilizando los parámetros privateKeyPath y publicKeyPath. Si SSH no está instalado en el servidor (por ejemplo, en un sistema operativo Windows o OS/400), la contraseña es necesaria.
- rpcUserHome
- Este parámetro especifica el directorio de inicio del usuario. Si este valor no se especifica, el valor predeterminado es System.getProperty("user.home"). Si rpcUser se ha especificado, especifique rpcUserHome.
- rpcHost
- Este parámetro especifica el host en el que se configura el mecanismo RPC para que escuche. Si no se especifica este valor, el valor predeterminado es el valor de la variable defaultHostName. Si el sistema utiliza un host distinto del defaultHostName, establezca este valor como corresponda.
- sudoUser
- Si se especifica este valor, permite que el controlador de colectivo ejecute mandatos como otro usuario, o "sudo", en lugar de como el ID de usuario que se utiliza para la conexión. Este parámetro sólo es aplicable a los servidores que tienen un servidor SSH instalado. Este parámetro no tiene ningún valor predeterminado.
- sudoPassword
- Este parámetro especifica la contraseña para el usuario sudo especificado por el parámetro sudoUser. Este parámetro sólo es aplicable a los servidores que tienen un servidor SSH instalado. Este parámetro no tiene ningún valor predeterminado.
- sshPublicKeyPath
- Este parámetro especifica la vía de acceso y el nombre de archivo de un archivo de claves públicas especificado por el usuario. Si no se especifica este valor, el valor predeterminado es ${server.output.dir}/resources/security/ssh/id_rsa.pub. Si el archivo especificado (o el archivo predeterminado) no existe, se generará un nuevo archivo de claves públicas.
- sshPrivateKeyPath
- Este parámetro especifica la vía de acceso y el nombre de archivo de un archivo de claves privadas especificado por el usuario. Si no se especifica este valor, el valor predeterminado es ${server.output.dir}/resources/security/ssh/id_rsa. Si el archivo especificado (o el archivo predeterminado) no existe, se generará un nuevo archivo de claves privadas.
- sshPrivateKeyPassword
- Este parámetro especifica la contraseña para la clave privada. Este parámetro no tiene ningún valor predeterminado.
- useHostCredentials
- Este parámetro especifica si los mandatos del servidor miembro del colectivo heredan credenciales RPC del host. El valor predeterminado es false, que requiere que el usuario especifique las credenciales de RPC para que el controlador remoto inicie o detenga el miembro. Si se establece en true, los mandatos de servidor miembro del colectivo heredan las credenciales RPC del registro de hosts e ignoran todas las demás credenciales RPC del elemento de configuración hostAuthInfo.
Ejemplos
Caso de ejemplo 1: el servidor está en el sistema operativo Windows y no se instala SSH
<hostAuthInfo rpcUserPassword="myPassword"/>
Caso de ejemplo 2: el servidor tiene SSH instalado y SSH se ejecuta en el puerto 2222
<hostAuthInfo rpcPort="2222"/>
Caso de ejemplo 3: se deben ejecutar mandatos como otro usuario
<hostAuthInfo sudoUser="anotherUser" sudoPassword="anotherPassword"/>
Escenario 4: El servidor está en un sistema operativo Windows y
un servicio SSH como, por ejemplo, Cygwin está instalado. Con la
configuración de servidor siguiente, el controlador conectar el
servidor miembro a SSH. En este caso, no se aplica el requisito para inhabilitar
el control de cuentas de usuarios (UAC) de Windows. El parámetro
<directorio inicio del usuario> es el directorio de inicio
predeterminado del usuario; por ejemplo, C:\cygwin\home\bob:
<hostAuthInfo rpcUserHome="<user's home directory>" />
Caso de ejemplo 5: el controlador de colectivo y el miembro están en hosts diferentes y no en el mismo host.
Para especificar que el miembro hereda las credenciales de RPC del host, establezca
useHostCredentials en true en el archivo server.xml del miembro. Complete los pasos siguientes
para configurar el miembro para heredar las credenciales RPC del host especificando --useHostCredentials en el
mandato
join que une un servidor como miembro al colectivo.