置換 Liberty 伺服器主機資訊
collectiveMember-1.0 特性可讓伺服器接受群體控制器的管理。 大部分伺服器主機資訊都會自動偵測到。不過,在某些實務中,您必須提供其他主機資訊,群體控制器才能夠建立通往伺服器的連線。


如果要啟用主機資訊置換,請新增下列元素到 server.xml 檔中:
<hostAuthInfo rpcPort="ssh_port"
rpcUser="user_ID"
rpcUserPassword="password"
rpcUserHome="user_home"
rpcHost="host_name"
sudoUser="sudo_user"
sudoPassword="sudo_user_password"
sshPublicKeyPath="public_key_path"
sshPrivateKeyPath="private_key_path"
sshPrivateKeyPassword="private_key_password"
useHostCredentials="true_or_false"/>
- rpcPort
- 這個參數指定 RPC 機制的埠,依預設,是 SSH 埠 22。如果您的系統使用非標準埠,請相應地設定這個值。如果沒有指定這個值,預設值是 22。
- rpcUser
- 這個參數指定群體控制器將用來連接到伺服器的使用者 ID。如果主機不支援 SSH,或不需要使用 SSH 金鑰,您可以使用這個參數,來指定作業系統登入使用者。舉例來說,如果您使用 myID 使用者登入主機,您可以指定 rpcUser="myID"。如果沒有指定這個值,預設值是 System.getProperty("user.name")。
- rpcUserPassword
- 這個參數指定用於所指定之使用者 ID 的密碼。舉例來說,如果您使用 myID 使用者和 myPwd 密碼登入主機,您可以指定 rpcUser="myID" 和 rpcUserPassword="myPwd"。如果未指定這個值,伺服器會產生一個 SSH 金鑰組,或使用 privateKeyPath 和 publicKeyPath 參數指定之連線的 SSH 金鑰組。 如果伺服器未安裝 SSH(例如在 Windows 或 OS/400® 作業系統上),就需要密碼。
- rpcUserHome
- 這個參數指定使用者的起始目錄。如果沒有指定這個值,預設值是 System.getProperty("user.home")。 如果指定了 rpcUser,請指定 rpcUserHome。
- rpcHost
- 這個參數指定配置 RPC 機制在其中進行接聽的主機。如果沒有指定這個值,預設值是 defaultHostName 變數的值。 如果您的系統使用 defaultHostName 以外的主機,請相應地設定這個值。
- sudoUser
- 如果指定了這個值,它可讓群體控制器以另一位或 "sudo" 使用者來執行指令,而不是使用連線所用的使用者 ID。這個參數只適用於安裝了 SSH 伺服器的伺服器。這個參數沒有預設值。
- sudoPassword
- 這個參數指定 sudoUser 參數所指定之 sudo 使用者的密碼。 這個參數只適用於安裝了 SSH 伺服器的伺服器。這個參數沒有預設值。
- sshPublicKeyPath
- 這個參數指定使用者指定之公開金鑰檔的路徑和檔名。如果沒有指定這個值,預設值是 ${server.output.dir}/resources/security/ssh/id_rsa.pub。 如果指定的檔案(或預設檔案)不存在,就會產生新的公開金鑰檔。
- sshPrivateKeyPath
- 這個參數指定使用者指定之私密金鑰檔的路徑和檔名。如果沒有指定這個值,預設值是 ${server.output.dir}/resources/security/ssh/id_rsa。如果指定的檔案(或預設檔案)不存在,就會產生新的私密金鑰檔。
- sshPrivateKeyPassword
- 這個參數指定私密金鑰的密碼。這個參數沒有預設值。
- useHostCredentials
- 這個參數指定群體成員伺服器指令是否繼承主機的 RPC 認證。預設值是 false,表示使用者必須指定控制器的 RPC 認證,才能從遠端啟動或停止成員。當設為 true 時,群體成員伺服器指令會繼承主機登錄中的 RPC 認證,並且會忽略 hostAuthInfo 配置元素中的其他所有 RPC 認證。
範例
實務 1:伺服器在 Windows 作業系統上,未安裝 SSH
<hostAuthInfo rpcUserPassword="myPassword"/>
實務 2:伺服器已安裝 SSH,SSH 執行於 2222 埠
<hostAuthInfo rpcPort="2222"/>
實務 3:必須以另一位使用者的身分執行指令
<hostAuthInfo sudoUser="anotherUser" sudoPassword="anotherPassword"/>
實務 4:伺服器是在 Windows 作業系統上,且已安裝 SSH 服務(例如 Cygwin)。
在下列伺服器配置之下,控制器會利用 SSH 來連接成員伺服器。
在這個情況下,停用「Windows 使用者帳戶控制 (UAC)」的需求並不適用。
<user's home directory> 參數是使用者預設起始目錄;例如
C:\cygwin\home\bob:
<hostAuthInfo rpcUserHome="<user's home directory>" />
實務 5:
群體控制器和成員位於不同而非相同的主機上。如果要指定成員將繼承主機的 RPC 認證,請在成員的 server.xml 檔中,將 useHostCredentials 設為 true。請完成下列步驟,在用來將伺服器加入群體中成為成員的 join 指令中,指定 --useHostCredentials,以便將成員配置成繼承主機的 RPC 認證。