|  | type=page | 
|  | status=published | 
|  | title=Enabling Centralized Administration of {productName} Instances | 
|  | next=nodes.html | 
|  | prev=overview.html | 
|  | ~~~~~~ | 
|  |  | 
|  | = Enabling Centralized Administration of {productName} Instances | 
|  |  | 
|  | [[GSHAG00003]][[gkshg]] | 
|  |  | 
|  |  | 
|  | [[enabling-centralized-administration-of-glassfish-server-instances]] | 
|  | == 2 Enabling Centralized Administration of {productName} Instances | 
|  |  | 
|  | {productName} uses the Distributed Component Object Model (DCOM) | 
|  | remote protocol or secure shell (SSH) to ensure that clusters that span | 
|  | multiple hosts can be administered centrally. To perform administrative | 
|  | operations on {productName} instances that are remote from the domain | 
|  | administration server (DAS), the DAS must be able to communicate with | 
|  | those instances. If an instance is running, the DAS connects to the | 
|  | running instance directly. For example, when you deploy an application | 
|  | to an instance, the DAS connects to the instance and deploys the | 
|  | application to the instance. | 
|  |  | 
|  | However, the DAS cannot connect to an instance to perform operations on | 
|  | an instance that is not running, such as creating or starting the | 
|  | instance. For these operations, the DAS uses DCOM or SSH to contact a | 
|  | remote host and administer instances there. DCOM or SSH provides | 
|  | confidentiality and security for data that is exchanged between the DAS | 
|  | and remote hosts. | 
|  |  | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | The use of DCOM or SSH to enable centralized administration of remote | 
|  | instances is optional. If the use of DCOM or SSH is not feasible in your | 
|  | environment, you can administer remote instances locally. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | The following topics are addressed here: | 
|  |  | 
|  | * link:#gkshz[About Centralized Administration of {productName} Instances] | 
|  | * link:#CEGIFJJF[Setting Up DCOM and Testing the DCOM Set Up] | 
|  | * link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | * link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | * link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  | * link:#gkslw[Testing the SSH Setup on a Host] | 
|  | * link:#gkshh[Setting Up SSH User Authentication] | 
|  | * link:#gkshn[Installing and Removing {productName} Software on Multiple Hosts] | 
|  |  | 
|  | [[gkshz]][[GSHAG00172]][[about-centralized-administration-of-glassfish-server-instances]] | 
|  |  | 
|  | === About Centralized Administration of {productName} Instances | 
|  |  | 
|  | The use of DCOM or SSH to enable centralized administration of remote | 
|  | instances is optional and is required only for specific operations. | 
|  | Instances local to the DAS can be administered without DCOM or SSH. If | 
|  | DCOM or SSH is not practicable in your environment, you can administer | 
|  | remote instances locally. | 
|  |  | 
|  | [[GSHAG446]][[sthref4]] | 
|  |  | 
|  |  | 
|  | [[determining-whether-to-enable-centralized-administration]] | 
|  | ==== Determining Whether to Enable Centralized Administration | 
|  |  | 
|  | Before setting up a {productName} cluster, use the following | 
|  | considerations to determine whether to enable centralized administration | 
|  | of remote instances: | 
|  |  | 
|  | * If you are planning a large cluster of many instances, consider | 
|  | enabling centralized administration of instances in the cluster. | 
|  | Centralized administration of instances simplifies the administration of | 
|  | the cluster by enabling you to perform all administrative operations on | 
|  | the cluster and its instances from the DAS. | 
|  | * If you are planning a small cluster of few instances, consider whether | 
|  | enabling centralized administration requires more effort than logging in | 
|  | to individual hosts to administer remote instances locally. | 
|  |  | 
|  | How you administer instances and the nodes on which they resides varies | 
|  | depending on whether and how centralized administration is enabled. The | 
|  | following table provides cross-references to instructions for | 
|  | administering nodes and instances depending on the protocol that is used | 
|  | for enabling centralized administration, if any. | 
|  |  | 
|  | [width="100%",cols="<15%,<42%,<43%",options="header",] | 
|  | |=== | 
|  | |Protocol |Node Administration Instructions |Instance Administration Instructions | 
|  |  | 
|  | |DCOM | 
|  | |link:nodes.html#CHDBIHFJ[Creating, Listing, Testing, and Deleting `DCOM` Nodes] | 
|  | |link:instances.html#gkqal[Administering {productName} Instances Centrally] | 
|  |  | 
|  | |SSH | 
|  | |link:nodes.html#gkrkn[Creating, Listing, Testing, and Deleting `SSH` Nodes] | 
|  | |link:instances.html#gkqal[Administering {productName} Instances Centrally] | 
|  |  | 
|  | |None | 
|  | |link:nodes.html#gkrnp[Creating, Listing, and Deleting `CONFIG` Nodes] | 
|  | |link:instances.html#gkqdw[Administering {productName} Instances Locally] | 
|  | |=== | 
|  |  | 
|  |  | 
|  | [[GSHAG447]][[sthref5]] | 
|  |  | 
|  |  | 
|  | [[considerations-for-using-dcom-for-centralized-administration]] | 
|  | ==== Considerations for Using DCOM for Centralized Administration | 
|  |  | 
|  | DCOM enables communications between Windows hosts. In a typical | 
|  | {productName} deployment, the DAS acts as a DCOM client, and hosts | 
|  | where instances reside act as DCOM servers. To create or start an | 
|  | instance on a remote host, the DAS instructs the DCOM server on the host | 
|  | to start the `asadmin` utility of {productName}. The `asadmin` | 
|  | utility then performs the required operation on the host to create or | 
|  | start the instance. | 
|  |  | 
|  | The DCOM service must be running on hosts where instances reside, but is | 
|  | not required to be running on the DAS host. The DAS uses its own DCOM | 
|  | client for communicating with hosts where instances reside. On Windows | 
|  | hosts, the DCOM server is typically running by default as a Windows Service. | 
|  |  | 
|  | DCOM is available only with the Windows operating system. Because DCOM | 
|  | is typically installed and preconfigured, minimal additional setup is | 
|  | required to use DCOM with {productName}. | 
|  |  | 
|  | Before setting up DCOM, decide which Windows user {productName} will | 
|  | use when connecting to remote hosts. For the following reasons, | 
|  | administration is simplest if the Windows user is the user that starts the DAS: | 
|  |  | 
|  | * Remote instances are started as the Windows user. | 
|  | * By default, the DAS assumes that the Windows user is the user that is running the DAS. | 
|  |  | 
|  | [[GSHAG320]][[sthref6]] | 
|  |  | 
|  |  | 
|  | [[considerations-for-using-ssh-for-centralized-administration]] | 
|  | ==== Considerations for Using SSH for Centralized Administration | 
|  |  | 
|  | In a typical {productName} deployment, the DAS acts as the SSH | 
|  | client, and hosts where instances reside act as SSH servers. The SSH | 
|  | Server Daemon `sshd` must be running on hosts where instances reside, | 
|  | but is not required to be running on the DAS host. The DAS uses its own | 
|  | SSH client for communicating with hosts where instances reside. However, | 
|  | to generate keys and test SSH setup, a native SSH client must be | 
|  | installed on the DAS host. | 
|  |  | 
|  | The requirements for SSH configuration and user management are different | 
|  | for each operating system on which {productName} is supported. | 
|  | Therefore, the use of SSH for centralized administration involves using | 
|  | SSH tools to configure SSH on the operating system that you are using. | 
|  |  | 
|  | On UNIX and Linux systems, SSH is typically installed and preconfigured, | 
|  | and requires minimal additional setup. On Windows systems, additional | 
|  | setup is required to install and configure an SSH provider. | 
|  |  | 
|  | [[gksmt]][[GSHAG00262]][[obtaining-ssh-software]] | 
|  |  | 
|  | ===== Obtaining SSH Software | 
|  |  | 
|  | On UNIX and Linux systems, SSH software is typically installed as part | 
|  | of the base operating system. | 
|  |  | 
|  | However, on Windows systems, you must install one of the following SSH providers: | 
|  |  | 
|  | * http://www.cygwin.com/[Cygwin] (`http://www.cygwin.com/`) release 1.7.6 | 
|  | * http://www.mkssoftware.com[MKS Toolkit for Developers] | 
|  | (`http://www.mkssoftware.com`) release 9.2 | 
|  |  | 
|  | [[gkshj]][[GSHAG00263]][[determining-the-ssh-user]] | 
|  |  | 
|  | ===== Determining the SSH User | 
|  |  | 
|  | Before setting up SSH, decide which SSH user {productName} will use | 
|  | when connecting to remote hosts. For the following reasons, | 
|  | administration is simplest if the SSH user is the user that starts the | 
|  | DAS: | 
|  |  | 
|  | * For public key authentication, the user that starts the DAS must be | 
|  | able to read the SSH user's private key file. | 
|  | * Remote instances are started as the SSH user. | 
|  | * By default, the DAS assumes that the SSH user is the user that is | 
|  | running the DAS. | 
|  |  | 
|  | [[glghe]][[GSHAG00222]][[requirements-for-the-ssh-users-environment]] | 
|  |  | 
|  | ===== Requirements for the SSH User's Environment | 
|  |  | 
|  | The environment of the SSH user on any remote host to which the user | 
|  | will connect must meet the requirements that are stated in | 
|  | "link:release-notes/release-notes.html#GSRLN00252[Paths and Environment Settings for the JDK Software]" | 
|  | in {productName} Release Notes. | 
|  |  | 
|  | The SSH user's environment on a host is set by the environment set-up | 
|  | files that are run when the user uses SSH to run a command on the host. | 
|  | You must ensure that these files set up the SSH user's environment | 
|  | correctly. | 
|  |  | 
|  | The files that are run when the user uses SSH to run a command are | 
|  | different than the files that are run when the user logs in to a host. | 
|  | For example, in the bash shell, `.profile` and `.bashrc` are run when | 
|  | the user logs in, but only `.bashrc` is run when the user runs a | 
|  | command. Therefore, in the bash shell, you must ensure that `.bashrc` | 
|  | contains the required environment settings for the SSH user. | 
|  |  | 
|  | [[glgfy]][[GSHAG00223]][[file-access-permissions-on-uac-enabled-windows-systems]] | 
|  |  | 
|  | ===== File Access Permissions on UAC-Enabled Windows Systems | 
|  |  | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | The http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx[User | 
|  | Account Control (UAC)](`http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx`) | 
|  | feature is available only on some versions of the Windows operating | 
|  | system, for example, Windows 7, Windows Vista, and Windows 2008. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | You might be using a UAC-enabled Windows system and choose to store | 
|  | files for {productName} instances in a directory other than the SSH | 
|  | user's home directory. In this situation, the SSH user must have native | 
|  | (that is, nonvirtual) read and write access to the file system where the | 
|  | instances are to be stored. The OS-level administrator has such access | 
|  | by default. You can also configure the system to grant such access to | 
|  | other users. For more information, see the documentation for the Windows | 
|  | operating system. | 
|  |  | 
|  | [[CEGIFJJF]][[GSHAG448]][[setting-up-dcom-and-testing-the-dcom-set-up]] | 
|  |  | 
|  | === Setting Up DCOM and Testing the DCOM Set Up | 
|  |  | 
|  | Setting up DCOM on a host involves the following tasks: | 
|  |  | 
|  | * Verifying Windows operating system settings for the host | 
|  | * Enabling the Windows user to run scripts on the host | 
|  | * Setting up password authentication for the Windows user on the host | 
|  |  | 
|  | Set up DCOM on all hosts where instances in your cluster will reside. | 
|  |  | 
|  | After setting up DCOM on a host, test the connection over DCOM to the | 
|  | host. | 
|  |  | 
|  | [[CEGDAFHD]][[GSHAG449]][[windows-operating-system-settings]] | 
|  |  | 
|  | ==== Windows Operating System Settings | 
|  |  | 
|  | To enable access to a host over DCOM, ensure that the following items in | 
|  | the Windows operating system are set as follows on the host: | 
|  |  | 
|  | * The following services are in the started state and are set to start automatically: | 
|  |  | 
|  | ** Server | 
|  | ** Remote Registry | 
|  |  | 
|  | * Network Access: Sharing security model for local accounts is set to Classic. | 
|  | * The following ports are open: | 
|  |  | 
|  | ** DCOM port 135 or 139 | 
|  | ** Windows Shares port 445 | 
|  |  | 
|  | [[CEGCJGCF]][[GSHAG450]][[to-enable-the-windows-user-to-run-scripts-on-a-remote-host]] | 
|  |  | 
|  | ==== To Enable the Windows User to Run Scripts on a Remote Host | 
|  |  | 
|  | To run scripts on a remote host, full control over the following Windows | 
|  | registry keys must be allowed for the Windows user or the group that | 
|  | contains the Windows user: | 
|  |  | 
|  | * One of the following keys, depending on the processor architecture of the host: | 
|  |  | 
|  | ** 32-bit architecture: + | 
|  | HKEY_LOCAl_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6} | 
|  | ** 64-bit architecture: + | 
|  | HKEY_LOCAl_MACHINE\SOFTWARE\Classes\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6} | 
|  |  | 
|  | * HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\\{72C24DD5-D70A-438B-8A42-98424B88AFB8} | 
|  |  | 
|  | In some versions of Windows, only the user `NT SERVICE\TrustedInstaller` | 
|  | has full control over these Windows registry keys. If your version of | 
|  | Windows is configured in this way, you must modify these keys to allow | 
|  | full control over them for the Windows user or the group that contains | 
|  | the Windows user. | 
|  |  | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the operating-system-level administrator user can edit the Windows registry. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | Perform this procedure for each Windows registry key that you are | 
|  | modifying on each host where instances in your cluster will reside. | 
|  |  | 
|  | 1. If necessary, start the Registry Editor. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | regedit.exe | 
|  | ---- | 
|  | The Registry Editor window opens. | 
|  |  | 
|  | 2. In the Registry Editor window, navigate to the registry key that you are modifying. | 
|  |  | 
|  | 3. Select the key, click mouse button 3, and from the pop-up menu that | 
|  | opens, select Permissions. | 
|  | + | 
|  | The Permissions window for the key opens. | 
|  |  | 
|  | 4. Determine whether full control is allowed for the Windows user or | 
|  | the group that contains the Windows user. | 
|  | * If full control is allowed, no further action is required. | 
|  | * If full control is not allowed, allow full control as follows: | 
|  | [arabic] | 
|  | .. In the Permissions window, click Advanced. + | 
|  | The Advanced Security Settings window for the key opens. | 
|  | .. In the Advanced Security Settings window, select the Owner tab. | 
|  | .. From the Change owner to list, select the Windows user or the group | 
|  | that contains the Windows user. | 
|  | .. Ensure that the Replace owner on subcontainer and objects option is selected. | 
|  | .. Click Apply, then OK. + | 
|  | The Advanced Security Settings window closes. The Permissions window | 
|  | shows that full control is allowed for the Windows user or the group | 
|  | that contains the Windows user. | 
|  |  | 
|  | .. In the Permissions window, click OK. The Permissions window closes. | 
|  |  | 
|  | 5. After modifying all the Windows registry keys over which full | 
|  | control is required, quit the Registry Editor. | 
|  |  | 
|  | [[GSHAG451]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | Set up password authentication for the Windows user as explained in | 
|  | link:#CEGCDCEF[To Set Up Password Authentication for the Windows User]. | 
|  |  | 
|  | [[CEGCDCEF]][[GSHAG452]][[to-set-up-password-authentication-for-the-windows-user]] | 
|  |  | 
|  | ==== To Set Up Password Authentication for the Windows User | 
|  |  | 
|  | When a {productName} subcommand uses DCOM to log in to a remote host, | 
|  | {productName} requires the Windows user's password to authenticate | 
|  | the Windows user. To provide this password securely to {productName}, | 
|  | create a {productName} password alias to represent the password and | 
|  | store this alias in a password file that is passed to the | 
|  | link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. | 
|  |  | 
|  | [[GSHAG453]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * The Windows user is a valid user on the host to which you are testing | 
|  | the connection over DCOM. | 
|  | * Items in the Windows operating system are set on the host as described | 
|  | in link:#CEGDAFHD[Windows Operating System Settings]. | 
|  | * The Windows user is able to run scripts on the host. For more | 
|  | information, see link:#CEGCJGCF[To Enable the Windows User to Run | 
|  | Scripts on a Remote Host]. | 
|  |  | 
|  | 1. Ensure that the DAS is running. + | 
|  | Remote subcommands require a running server. | 
|  |  | 
|  | 2. [[CEGGAHFH]] | 
|  | Create an alias for the Windows user's password. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for creating a password | 
|  | alias, see the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> create-password-alias alias-name | 
|  | ---- | 
|  | + | 
|  | alias-name:: | 
|  | Your choice of name for the alias that you are creating. | 
|  | + | 
|  | The `create-password-alias` subcommand prompts you to type the password | 
|  | for which you are creating an alias. | 
|  |  | 
|  | 3. In response to the prompt, type the Windows user's password. + | 
|  | The `create-password-alias` subcommand prompts you to type the password again. | 
|  |  | 
|  | 4. In response to the prompt, type the Windows user's password again. | 
|  |  | 
|  | 5. Create a plain text file that contains the following entry for the | 
|  | password alias: | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_WINDOWSPASSWORD=${ALIAS=alias-name} | 
|  | ---- | 
|  | alias-name:: | 
|  | The alias name that you specified in Step link:#CEGGAHFH[2]. | 
|  | + | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | When you create a `DCOM` node, pass this file as the `--passwordfile` | 
|  | option of the `asadmin` utility. For more information, see | 
|  | link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | [[GSHAG454]][[sthref7]] | 
|  | Example 2-1 Creating an Alias for the Windows User's Password | 
|  |  | 
|  | This example creates an alias that is named `winuser-password` for the | 
|  | Windows user's password. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ asadmin create-password-alias winuser-password | 
|  | Enter the alias password> | 
|  | Enter the alias password again> | 
|  | Command create-password-alias executed successfully. | 
|  | ---- | 
|  |  | 
|  | The entry in the password file for the `winuser-password` alias is as | 
|  | follows: | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_WINDOWSPASSWORD=${ALIAS=winuser-password} | 
|  | ---- | 
|  |  | 
|  | [[GSHAG455]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] | 
|  | * link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommand by | 
|  | typing `asadmin help create-password-alias` at the command line. | 
|  |  | 
|  | [[GSHAG456]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | Test the DCOM setup as explained in link:#CEGJFADH[To Test the | 
|  | Connection Over DCOM to a Remote Host]. | 
|  |  | 
|  | [[CEGJFADH]][[GSHAG457]][[to-test-the-connection-over-dcom-to-a-remote-host]] | 
|  |  | 
|  | ==== To Test the Connection Over DCOM to a Remote Host | 
|  |  | 
|  | Testing the connection over DCOM to a remote host verifies that the | 
|  | required Windows services are running, the required ports are open, and | 
|  | the Windows user has a valid user account on the host. | 
|  |  | 
|  | Before attempting to perform any task that the requires the DAS contact | 
|  | the DCOM server on a remote host, test the connection over DCOM to the | 
|  | host. If this test fails, any attempt to perform a task that the | 
|  | requires the DAS contact the DCOM server on the host will also fail. | 
|  | Examples of such tasks are creating a DCOM node to represent the host or | 
|  | creating an instance that resides on the host. For more information, see | 
|  | link:nodes.html#CHDIGBJB[To Create a `DCOM` Node] and | 
|  | link:instances.html#gkqch[To Create an Instance Centrally]. | 
|  |  | 
|  | If you cannot connect to the host over DCOM, troubleshoot the DCOM setup | 
|  | before proceeding. | 
|  |  | 
|  | [[GSHAG458]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * The Windows user is a valid user on the host to which you are testing | 
|  | the connection over DCOM. | 
|  | * Items in the Windows operating system are set on the host as described | 
|  | in link:#CEGDAFHD[Windows Operating System Settings]. | 
|  | * The Windows user is able to run scripts on the host. For more | 
|  | information, see link:#CEGCJGCF[To Enable the Windows User to Run | 
|  | Scripts on a Remote Host]. | 
|  | * Password authentication is set up for the windows user as explained in | 
|  | link:#CEGCDCEF[To Set Up Password Authentication for the Windows User]. | 
|  |  | 
|  | 1. Ensure that the DAS is running. + | 
|  | Remote subcommands require a running server. | 
|  |  | 
|  | 2. Run the `validate-dcom` subcommand. + | 
|  | Specify the file that contains the alias for the Windows user's password | 
|  | through the `--passwordfile` option of the `asadmin` utility. For more | 
|  | information about this file, see link:#CEGCDCEF[To Set Up Password | 
|  | Authentication for the Windows User]. | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for configuring the | 
|  | node, see the link:reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)] help page. | 
|  | ==== | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | C:\>asadmin --passwordfile filename validate-dcom host-name | 
|  | ---- | 
|  | filname:: | 
|  | The name of the file that contains the alias for the Windows user's | 
|  | password. | 
|  | host-name:: | 
|  | The name of the host to which you are testing the connection over | 
|  | DCOM. | 
|  |  | 
|  | [[GSHAG459]][[sthref8]] | 
|  | Example 2-2 Testing the Connection Over DCOM to a Remote Host | 
|  |  | 
|  | This example tests the connection over DCOM to the host `wpmdl2`. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | C:\> asadmin --passwordfile aspwalias.txt validate-dcom wpmdl2 | 
|  | Command validate-dcom executed successfully. | 
|  | ---- | 
|  |  | 
|  | [[GSHAG460]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] | 
|  | * link:reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)] | 
|  | * link:#CEGDAFHD[Windows Operating System Settings] | 
|  | * link:#CEGCJGCF[To Enable the Windows User to Run Scripts on a Remote Host] | 
|  | * link:nodes.html#CHDIGBJB[To Create a `DCOM` Node] | 
|  | * link:instances.html#gkqch[To Create an Instance Centrally] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommand by | 
|  | typing `asadmin help validate-dcom` at the command line. | 
|  |  | 
|  | [[gksiy]][[GSHAG00173]][[setting-up-cygwin-ssh-on-windows]] | 
|  |  | 
|  | === Setting Up Cygwin SSH on Windows | 
|  |  | 
|  | Set up Cygwin SSH on the DAS host and on all hosts where instances in | 
|  | your cluster will reside. | 
|  |  | 
|  | The following topics are addressed here: | 
|  |  | 
|  | * link:#gksjn[To Download and Install Cygwin] | 
|  | * link:#gksin[To Set the Path for Windows and for the Cygwin Shell] | 
|  | * link:#gksov[To Set the Home Directory for the Cygwin SSH User] | 
|  | * link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon | 
|  | `sshd`] | 
|  |  | 
|  | [[gksjn]][[GSHAG00071]][[to-download-and-install-cygwin]] | 
|  |  | 
|  | ==== To Download and Install Cygwin | 
|  |  | 
|  | For centralized {productName} administration, a basic Cygwin | 
|  | installation that includes the SSH client and the SSH server daemon | 
|  | `sshd` is sufficient. The default installation options are sufficient to | 
|  | create such a basic installation. | 
|  |  | 
|  | 1. Log in as a user with Administrator privileges. | 
|  |  | 
|  | 2. Create the folder `C:\cygwin`. | 
|  |  | 
|  | 3. From the http://www.cygwin.com/[Cygwin home page] | 
|  | (`http://www.cygwin.com/`), download and save the `setup.exe` file to your desktop. | 
|  |  | 
|  | 4. Run the `setup.exe` file. | 
|  |  | 
|  | 5. Select the default for the following options: | 
|  | * Install from Internet | 
|  | * Install Root Directory: `C:\cygwin` | 
|  | * Install for All Users | 
|  |  | 
|  | 6. Specify a folder for the local package directory that is not the | 
|  | Cygwin root folder, for example, `C:\cygwin\packages`. | 
|  |  | 
|  | 7. Specify the connection method. + | 
|  | For example, if the host is connected to the Internet through a proxy | 
|  | server, specify the proxy server. | 
|  |  | 
|  | 8. Select the mirror site from which to download the software. | 
|  |  | 
|  | 9. Select the `openssh` package for installation. | 
|  | [arabic] | 
|  | .. Under the Net category, search for `openssh`. | 
|  | .. Locate the `openssh` package and click Skip. + | 
|  | The package is selected. | 
|  | .. Click Next. + | 
|  | Any unsatisfied dependencies are listed. | 
|  |  | 
|  | 10. Leave the Select Required Packages option selected and click Next + | 
|  | The packages are installed. | 
|  |  | 
|  | 11. Click Finish. | 
|  |  | 
|  | [[GSHAG321]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | For detailed information about installing Cygwin, see | 
|  | "http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup[Internet | 
|  | Setup]" in Cygwin User's Guide | 
|  | (`http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup`). | 
|  |  | 
|  | [[gksin]][[GSHAG00072]][[to-set-the-path-for-windows-and-for-the-cygwin-shell]] | 
|  |  | 
|  | ==== To Set the Path for Windows and for the Cygwin Shell | 
|  |  | 
|  | To enable {productName} tools to find commands for SSH, each user's | 
|  | path for Windows and for the Cygwin shell must contain the following directories: | 
|  | -- | 
|  | * The Cygwin `bin` directory, for example `C:\cygwin\bin` | 
|  | * The `bin` directory of the JDK software | 
|  | -- | 
|  |  | 
|  | 1. Log in as a user with Administrator privileges. | 
|  | Logging in as a user with Administrator privileges ensures that the | 
|  | change applies to all users. | 
|  |  | 
|  | 2. In the System Information control panel, click Advanced>Environment Variables. | 
|  |  | 
|  | 3. Add the following directories to the Path environment variable: | 
|  |  | 
|  | * The Cygwin `bin` directory, for example `C:\cygwin\bin` | 
|  | * The `bin` directory of the JDK software | 
|  |  | 
|  | [[gksov]][[GSHAG00073]][[to-set-the-home-directory-for-the-cygwin-ssh-user]] | 
|  |  | 
|  | ==== To Set the Home Directory for the Cygwin SSH User | 
|  |  | 
|  | The SSH Server Daemon `sshd` locates a user's home directory from the | 
|  | configuration in the user database, not from environment variables such | 
|  | as `HOME`. To ensure that all {productName} commands can run without | 
|  | errors, each SSH user must be configured to have a home directory. | 
|  |  | 
|  | Each user on a Windows host where SSH is set up potentially has two home | 
|  | directories: | 
|  |  | 
|  | * Windows home directory. {productName} commands, which are run in a | 
|  | Windows command window, use the Windows home directory. | 
|  | * SSH home directory. SSH commands, which are run in a shell such as | 
|  | `bash` or `ksh`, use the SSH home directory. | 
|  |  | 
|  | If these home directories are different, {productName} and SSH each | 
|  | locate a user's `.ssh` directory in different directories. To simplify | 
|  | the set up of SSH, configure each user's home directory for SSH and | 
|  | Windows to be the same directory. A disadvantage of this approach is | 
|  | that the SSH home directory has spaces in its path name. Spaces in path | 
|  | names are cumbersome in the UNIX environment. | 
|  |  | 
|  | 1. Log in as a user with Administrator privileges. | 
|  | 2. In the `c:\cygwin\etc\passwd` file, edit the home directory setting | 
|  | for the SSH user to specify the user's home directory for Windows. | 
|  |  | 
|  | [[gkskx]][[GSHAG00074]][[to-configure-and-start-the-cygwin-ssh-server-daemon-sshd]] | 
|  |  | 
|  | ==== To Configure and Start the Cygwin SSH Server Daemon `sshd` | 
|  |  | 
|  | [[GSHAG322]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * A user account is created for each user that will log in to the host through SSH. | 
|  | * A password is set for each user account. | 
|  |  | 
|  | The SSH server daemon `sshd` disallows authentication of any user for | 
|  | whose account a password is not set. | 
|  |  | 
|  | 1. Double-click the Cygwin icon. A Cygwin terminal is started. | 
|  |  | 
|  | 2. If necessary, set the password for your user account. | 
|  | [arabic] | 
|  | .. Run the `passwd` command as follows: | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ passwd user-name | 
|  | ---- | 
|  | user-name:: | 
|  | The user name for your account. | 
|  | .. Type a password. The password for your Windows account is also set. | 
|  |  | 
|  | 3. Configure SSH on the host. | 
|  | [arabic] | 
|  | .. Run the `ssh-host-config` command. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ ssh-host-config | 
|  | ---- | 
|  | + | 
|  | [TIP] | 
|  | ==== | 
|  | If you are using Windows XP, specify the `-y` option of | 
|  | `ssh-host-config` to answer `yes` to all prompts. If you run | 
|  | `ssh-host-config` with the `-y` option, omit Step link:#gkuat[b]. | 
|  | ==== | 
|  | + | 
|  | .. [[gkuat]] | 
|  | Ensure that the `StrictModes` and `PubkeyAuthentication` options are set | 
|  | to `yes` in the file `/etc/ssh_config`. + | 
|  | The file `/etc/ssh_config` can also be accessed as `/cygdrive/c/cygwin/etc/sshd_config`. | 
|  |  | 
|  | 4. Start the SSH server daemon `sshd`. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ net start sshd | 
|  | ---- | 
|  | 5. Confirm that the SSH server daemon `sshd` is running. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ cygrunsrv --query sshd | 
|  | Service             : sshd | 
|  | Display name        : CYGWIN sshd | 
|  | Current State       : Running | 
|  | Controls Accepted   : Stop | 
|  | Command             : /usr/sbin/sshd -D | 
|  | ---- | 
|  |  | 
|  | [[GSHAG323]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After you have completed the setup of SSH on a host, test the setup on | 
|  | the host as explained in link:#gkslw[Testing the SSH Setup on a Host]. | 
|  |  | 
|  | [[gkskf]][[GSHAG00174]][[setting-up-the-mks-toolkit-on-windows]] | 
|  |  | 
|  | === Setting Up the MKS Toolkit on Windows | 
|  |  | 
|  | Set up the MKS Toolkit on the DAS host and on all hosts where instances | 
|  | in your cluster will reside. | 
|  |  | 
|  | The following topics are addressed here: | 
|  |  | 
|  | * link:#gksmq[To Install the MKS Toolkit] | 
|  | * link:#gksmu[To Set the Path for Windows and for the MKS Toolkit Shell] | 
|  | * link:#gksox[To Set the Home Directory for the MKS Toolkit SSH User] | 
|  | * link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon | 
|  | `sshd`] | 
|  |  | 
|  | [[gksmq]][[GSHAG00075]][[to-install-the-mks-toolkit]] | 
|  |  | 
|  | ==== To Install the MKS Toolkit | 
|  |  | 
|  | For centralized {productName} administration, the default | 
|  | installation of the MKS Toolkit is sufficient. | 
|  |  | 
|  | Follow the instructions in the MKS Toolkit product documentation to | 
|  | install OpenSSH from the MKS Toolkit with default installation options. | 
|  |  | 
|  | [[GSHAG324]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | For detailed information about installing MKS Toolkit, see | 
|  | "http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install[Installing | 
|  | MKS Toolkit]" in MKS Toolkit v9.4 Release Notes | 
|  | (`http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install`). | 
|  |  | 
|  | [[gksmu]][[GSHAG00076]][[to-set-the-path-for-windows-and-for-the-mks-toolkit-shell]] | 
|  |  | 
|  | ==== To Set the Path for Windows and for the MKS Toolkit Shell | 
|  |  | 
|  | To enable {productName} tools to find commands for SSH, each user's | 
|  | path for Windows and for the MKS Toolkit shell must contain the | 
|  | following directories: | 
|  |  | 
|  | * The MKS Toolkit `bin` directory, for example | 
|  | `C:\Program Files\MKS Toolkit\mksnt` | 
|  | * The `bin` directory of the JDK software | 
|  |  | 
|  | The MKS Toolkit installer automatically adds the MKS Toolkit `bin` | 
|  | directory to the path. However, you must add the `bin` directory of the | 
|  | JDK software to the path yourself. | 
|  |  | 
|  | 1. Log in as a user with Administrator privileges. | 
|  | + | 
|  | Logging in as a user with Administrator privileges ensures that the | 
|  | change applies to all users. | 
|  | 2. In the System Information control panel, click Advanced>Environment | 
|  | Variables. | 
|  | 3. Add the `bin` directory of the JDK software to the Path environment | 
|  | variable. | 
|  |  | 
|  | [[gksox]][[GSHAG00077]][[to-set-the-home-directory-for-the-mks-toolkit-ssh-user]] | 
|  |  | 
|  | ==== To Set the Home Directory for the MKS Toolkit SSH User | 
|  |  | 
|  | The SSH Server Daemon `sshd` locates a user's home directory from the | 
|  | configuration in the user database, not from environment variables such | 
|  | as `HOME`. To ensure that all {productName} commands can run without | 
|  | errors, each SSH user must be configured to have a home directory. | 
|  |  | 
|  | Each user on a Windows host where SSH is set up potentially has two home | 
|  | directories: | 
|  |  | 
|  | * Windows home directory. {productName} commands, which are run in a | 
|  | Windows command window, use the Windows home directory. | 
|  | * SSH home directory. SSH commands, which are run in a shell such as | 
|  | `bash` or `ksh`, use the SSH home directory. | 
|  |  | 
|  | If these home directories are different, {productName} and SSH each | 
|  | locate a user's `.ssh` directory in different directories. To simplify | 
|  | the set up of SSH, configure each user's home directory for SSH and | 
|  | Windows to be the same directory. A disadvantage of this approach is | 
|  | that the SSH home directory has spaces in its path name. Spaces in path | 
|  | names are cumbersome in the UNIX environment. | 
|  |  | 
|  | 1. [[gkslo]] | 
|  | Compare the pairs of settings for Windows and the MKS Toolkit that are | 
|  | listed in the following table. | 
|  | + | 
|  | [width="100%",cols="<50%,<50%",options="header",] | 
|  | |=== | 
|  | |Windows Environment Variable |MKS Toolkit Field | 
|  | |`HOMEPATH` |Home Directory | 
|  | |`HOMEDRIVE` |Home Directory Drive | 
|  | |=== | 
|  | [arabic] | 
|  | .. In a Windows command window, determine the values of the `HOMEPATH` | 
|  | and `HOMEDRIVE` environment variables. | 
|  | .. In an MKS Toolkit shell, determine the current settings of the Home | 
|  | Directory and Home Directory Drive fields for the user. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ userinfo user-name | 
|  | ---- | 
|  | user-name:: | 
|  | The user name for the user whose home directory you are setting, for | 
|  | example `Administrator`. | 
|  |  | 
|  | + | 
|  | 2. If the settings do not match, update setting of each MKS Toolkit | 
|  | field to match its corresponding Windows environment variable. + | 
|  | If the settings match, no further action is required. + | 
|  | To update the settings, run the following command in an MKS Toolkit shell: | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ userinfo -u -fHomeDirDrive:"drive" -fHomeDir:"path" user-name | 
|  | ---- | 
|  | drive:: | 
|  | The drive identifier of the disk drive on which the user's Windows | 
|  | home directory resides, for example, `C:`. | 
|  | path:: | 
|  | The path to the user's Windows home directory, for example, | 
|  | `\Documents and Settings\Administrator`. | 
|  | user-name:: | 
|  | The user name for the user whose home directory you are setting, for | 
|  | example `Administrator`. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Do not set the `HOME` environment variable explicitly. If Home Directory | 
|  | and Home Directory Drive are set correctly, the `HOME` environment | 
|  | variable specifies the correct path by default. | 
|  | ==== | 
|  |  | 
|  | 3. In an MKS Toolkit shell, confirm that the settings were updated. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ userinfo user-name | 
|  | ---- | 
|  | user-name:: | 
|  | The user name for the user whose home directory you are setting, for | 
|  | example `Administrator`. | 
|  |  | 
|  | 4. Log out of the host and log in to the host again. | 
|  |  | 
|  | 5. Confirm that the home directories are the same as explained in | 
|  | Step link:#gkslo[1]. | 
|  |  | 
|  | [[GSHAG00014]][[gksnj]] | 
|  | Example 2-3 Setting the Home Directory for the MKS Toolkit User | 
|  |  | 
|  | This example sets the home directory for the MKS Toolkit user | 
|  | `Administrator` to `C:\Documents and Settings\Administrator`. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ userinfo -u -fHomeDirDrive:"C:" | 
|  | -fHomeDir:"\Documents and Settings\Administrator" Administrator | 
|  | ---- | 
|  |  | 
|  | [[gksnx]][[GSHAG00078]][[to-configure-and-start-the-mks-toolkit-ssh-server-daemon-sshd]] | 
|  |  | 
|  | ==== To Configure and Start the MKS Toolkit SSH Server Daemon `sshd` | 
|  |  | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | Do not set the command shell to `cmd.exe`. The use of SSH for | 
|  | centralized {productName} administration requires a shell in the | 
|  | style of a UNIX shell. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | 1. From the Programs menu, choose MKS Toolkit>Configuration>Configuration Information. | 
|  |  | 
|  | 2. Enable password authentication and strict modes. | 
|  | [arabic] | 
|  | .. Click the Secure Shell Service tab. | 
|  | .. Select the Password Authentication option. | 
|  | .. Click Advanced settings. | 
|  | .. Click the Login tab. | 
|  | .. Deselect the Strict Modes option. | 
|  |  | 
|  | 3. If you are using SSH key-file authentication, enable `MKSAUTH` password authentication. | 
|  | [arabic] | 
|  | .. Click the Authentication tab. | 
|  | .. Under Enable/Disable Password using MKSAUTH, type the user's password and click the Enable. | 
|  |  | 
|  | 4. Start the SSH server daemon `sshd`. | 
|  |  | 
|  | 5. Confirm that the SSH server daemon `sshd` is running. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ service query MKSSecureSH | 
|  | Name:           MKS Secure Shell Service | 
|  | Service Type:   WIN32_OWN_PROCESS | 
|  | Current State:  RUNNING | 
|  | Controls Accepted:      ACCEPT_STOP | 
|  | Check Point:    0 | 
|  | Wait Hint:      0 | 
|  | Start Type:     AUTO_START | 
|  | Error Control:  IGNORE | 
|  | Path:           "C:\Program Files\MKS Toolkit\bin\secshd.exe" | 
|  | Dependency:     NuTCRACKERService | 
|  | Dependency:     tcpip | 
|  | Service Start Name:     LocalSystem | 
|  | ---- | 
|  |  | 
|  | [[GSHAG325]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After you have completed the setup of SSH on a host, test the setup on | 
|  | the host as explained in link:#gkslw[Testing the SSH Setup on a Host]. | 
|  |  | 
|  | [[gksja]][[GSHAG00175]][[setting-up-ssh-on-unix-and-linux-systems]] | 
|  |  | 
|  | === Setting Up SSH on UNIX and Linux Systems | 
|  |  | 
|  | Setting up SSH on UNIX and Linux systems involves verifying that the SSH | 
|  | server daemon `sshd` is running and, if necessary, starting this daemon. | 
|  | Set up SSH on the DAS host and on all hosts where instances in your | 
|  | cluster will reside. | 
|  |  | 
|  | On UNIX and Linux systems, SSH software is typically installed as part | 
|  | of the base operating system. If SSH is not installed, download and | 
|  | install the appropriate http://www.openssh.com/[OpenSSH] | 
|  | (`http://www.openssh.com/`) SSH package for your operating system. | 
|  |  | 
|  | How to set up SSH on UNIX and Linux systems depends on the flavor of the | 
|  | operating system that you are running, as explained in the following | 
|  | sections: | 
|  |  | 
|  | * link:#gksjx[To Set Up SSH on Oracle Solaris Systems] | 
|  | * link:#gkspz[To Set Up SSH on MacOS Systems] | 
|  | * link:#gksrd[To Set Up SSH on Linux systems] | 
|  |  | 
|  | [[gksjx]][[GSHAG00079]][[to-set-up-ssh-on-oracle-solaris-systems]] | 
|  |  | 
|  | ==== To Set Up SSH on Oracle Solaris Systems | 
|  |  | 
|  | 1. Ensure that the following options in the configuration file | 
|  | `/etc/ssh/sshd_config` are set to `yes`: | 
|  | * `StrictModes` | 
|  | * `PubkeyAuthentication` | 
|  | 2. Determine if the SSH server daemon `sshd` is running. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ /usr/bin/svcs ssh | 
|  | ---- | 
|  | 3. If the SSH server daemon `sshd` is not running, start this daemon. | 
|  | + | 
|  | If the daemon is running, no further action is required. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ /usr/sbin/svcadm enable ssh | 
|  | ---- | 
|  |  | 
|  | [[GSHAG00015]][[gkspo]] | 
|  | Example 2-4 Determining if the `sshd` Daemon Is Running on an Oracle | 
|  | Solaris System | 
|  |  | 
|  | This example confirms that the SSH server daemon `sshd` is running on an | 
|  | Oracle Solaris system. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ /usr/bin/svcs ssh | 
|  | STATE          STIME    FMRI | 
|  | online         Jul_06   svc:/network/ssh:default | 
|  | ---- | 
|  |  | 
|  | [[GSHAG326]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)] | 
|  |  | 
|  | [[GSHAG327]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After you have completed the setup of SSH on a host, test the setup on | 
|  | the host as explained in link:#gkslw[Testing the SSH Setup on a Host]. | 
|  |  | 
|  | [[gkspz]][[GSHAG00080]][[to-set-up-ssh-on-macos-systems]] | 
|  |  | 
|  | ==== To Set Up SSH on MacOS Systems | 
|  |  | 
|  | 1. Open System Preferences and click Sharing. + | 
|  | The Sharing window opens. | 
|  |  | 
|  | 2. Ensure that Remote Login is selected in the Service list. | 
|  |  | 
|  | 3. Ensure that either of the following is allowed access: | 
|  |  | 
|  | * All Users | 
|  | * The user that running the DAS or instance | 
|  |  | 
|  | 4. (MacOS 10.6 systems only) Ensure that the SSH server daemon `sshd` | 
|  | allows password authentication. + | 
|  | On MacOS 10.5 systems, the SSH server daemon `sshd` allows password | 
|  | authentication by default. However, on MacOS 10.6 systems, the SSH | 
|  | server daemon `sshd` disallows password authentication by default. | 
|  | [arabic] | 
|  | .. Edit the configuration file `/etc/sshd_config` to set the `PasswordAuthentication` option to `yes`. | 
|  | .. Stop the SSH server daemon `sshd`. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ sudo launchctl stop com.openssh.sshd | 
|  | ---- | 
|  | .. Start the SSH server daemon `sshd`. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ sudo launchctl start com.openssh.sshd | 
|  | ---- | 
|  |  | 
|  | [[GSHAG328]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After you have completed the setup of SSH on a host, test the setup on | 
|  | the host as explained in link:#gkslw[Testing the SSH Setup on a Host]. | 
|  |  | 
|  | [[gksrd]][[GSHAG00081]][[to-set-up-ssh-on-linux-systems]] | 
|  |  | 
|  | ==== To Set Up SSH on Linux systems | 
|  |  | 
|  | 1. Ensure that the following options in the configuration file | 
|  | `/etc/ssh/sshd_config` are set to `yes`: | 
|  | * `StrictModes` | 
|  | * `PubkeyAuthentication` | 
|  | 2. Determine if the SSH server daemon `sshd` is running. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ /sbin/service sshd status | 
|  | ---- | 
|  | 3. If the SSH server daemon `sshd` is not running, start this daemon. | 
|  | + | 
|  | If the daemon is running, no further action is required. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ /sbin/service sshd start | 
|  | ---- | 
|  |  | 
|  | [[GSHAG00016]][[gkssf]] | 
|  | Example 2-5 Determining if the `sshd` Daemon Is Running on a Linux | 
|  | System | 
|  |  | 
|  | This example confirms that the SSH server daemon `sshd` is running on a | 
|  | Linux system. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ /sbin/service sshd status | 
|  | openssh-daemon (pid  2373) is running... | 
|  | ---- | 
|  |  | 
|  | [[GSHAG329]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After you have completed the setup of SSH on a host, test the setup on | 
|  | the host as explained in link:#gkslw[Testing the SSH Setup on a Host]. | 
|  |  | 
|  | [[gkslw]][[GSHAG00176]][[testing-the-ssh-setup-on-a-host]] | 
|  |  | 
|  | === Testing the SSH Setup on a Host | 
|  |  | 
|  | After setting up SSH on a host, test the setup to ensure that you can | 
|  | use SSH to contact the host from another host. Testing the SSH setup on | 
|  | a host verifies that the SSH server daemon `sshd` is running and that | 
|  | the SSH user has a valid user account on the host. | 
|  |  | 
|  | If you cannot use SSH to contact the host, troubleshoot the SSH setup | 
|  | before setting up SSH user authentication. | 
|  |  | 
|  | [[gkskk]][[GSHAG00082]][[to-test-the-ssh-setup-on-a-host]] | 
|  |  | 
|  | ==== To Test the SSH Setup on a Host | 
|  |  | 
|  | 1. From another host, use SSH to log in into the host that you are | 
|  | testing as the SSH user. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ ssh -l user-name host-name | 
|  | ---- | 
|  | user-name:: | 
|  | The user name for the SSH user's account on the host. | 
|  | host-name:: | 
|  | The host name of the host that you are logging in to. | 
|  | 2. In response to the prompt, type your password. | 
|  | + | 
|  | If this step succeeds, your setup of SSH is complete. | 
|  | + | 
|  | The first time that you connect to a host, you might be warned that the | 
|  | authenticity cannot be established and be asked if you want to continue | 
|  | connection. If you trust the host, answer `yes` to connect to the host. | 
|  |  | 
|  | [[GSHAG330]] | 
|  |  | 
|  | Troubleshooting | 
|  |  | 
|  | To obtain diagnostic information, use the `-v` option of the | 
|  | command-line SSH client and the `-d` option of the SSH server daemon | 
|  | `sshd`. How to start the SSH server daemon `sshd` manually depends on | 
|  | the operating system and SSH provider that you are using. | 
|  |  | 
|  | If the SSH server daemon `sshd` is set up on a host that has a firewall, | 
|  | ensure that a rule is defined to allow inbound traffic on the SSH port. | 
|  | The default SSH port is port 22. | 
|  |  | 
|  | If your connection is refused, the SSH server daemon `sshd` is not | 
|  | running and you must start the daemon. For instructions, see the | 
|  | following sections: | 
|  |  | 
|  | * link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon `sshd`] | 
|  | * link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon `sshd`] | 
|  | * link:#gksjx[To Set Up SSH on Oracle Solaris Systems] | 
|  |  | 
|  | If your connection is accepted, but you cannot log in, ensure that the | 
|  | SSH user has a valid user account on the host. | 
|  |  | 
|  | [[GSHAG331]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After testing the SSH setup, set up SSH user authentication to enable | 
|  | SSH to authenticate users without prompting for a password. For more | 
|  | information, see link:#gkshh[Setting Up SSH User Authentication]. | 
|  |  | 
|  | [[gkshh]][[GSHAG00177]][[setting-up-ssh-user-authentication]] | 
|  |  | 
|  | === Setting Up SSH User Authentication | 
|  |  | 
|  | When a {productName} subcommand uses SSH to log in to a remote host, | 
|  | {productName} must be able to authenticate the SSH user. Setting up | 
|  | SSH user authentication ensures that this requirement is met. | 
|  |  | 
|  | Before setting up SSH user authentication, determine the authentication | 
|  | scheme to use. If SSH is already deployed at your site, the | 
|  | authentication scheme to use might already be chosen for you. | 
|  |  | 
|  | The following table lists the authentication schemes that {productName} supports. The table also lists the advantages and disadvantages | 
|  | of each authentication scheme. | 
|  |  | 
|  | [width="100%",cols="<34%,<33%,<33%",options="header",] | 
|  | |=== | 
|  | |Authentication Scheme |Advantages |Disadvantages | 
|  | |Public key without encryption |{productName} provides tools to | 
|  | simplify set up. |SSH must be configured to locate users' key files in | 
|  | the correct location. File access permissions for key files and the | 
|  | directory that contains the key files must be set correctly. | 
|  |  | 
|  | |Public key with passphrase-protected encryption |This scheme is more | 
|  | secure than public key authentication without encryption. |SSH must be | 
|  | configured to locate users' key files in the correct location. File | 
|  | access permissions for key files and the directory that contains the key | 
|  | files must be set correctly. For each SSH user, {productName} | 
|  | password aliases are required for the encryption passphrase. | 
|  |  | 
|  | |Password |No SSH configuration is required to locate key files or to | 
|  | ensure that file access permissions are correct. |For each SSH user, | 
|  | {productName} password aliases are required for the SSH password. | 
|  | |=== | 
|  |  | 
|  |  | 
|  | The following topics are addressed here: | 
|  |  | 
|  | * link:#gksqe[To Set Up Public Key Authentication Without Encryption] | 
|  | * link:#gktaq[To Set Up Encrypted Public Key Authentication] | 
|  | * link:#gktbd[To Set Up Password Authentication] | 
|  |  | 
|  | [[gksqe]][[GSHAG00083]][[to-set-up-public-key-authentication-without-encryption]] | 
|  |  | 
|  | ==== To Set Up Public Key Authentication Without Encryption | 
|  |  | 
|  | Use the `setup-ssh` subcommand in local mode to set up public key | 
|  | authentication without encryption. This subcommand enables you to set up | 
|  | public key authentication on multiple hosts in a single operation. | 
|  |  | 
|  | The `setup-ssh` subcommand generates a key pair and distributes the | 
|  | public key file to specified hosts. The private key file and the public | 
|  | key file are protected only by the file system's file access | 
|  | permissions. If you require additional security, set up public key | 
|  | authentication with passphrase-protected encryption as explained in | 
|  | link:#gktaq[To Set Up Encrypted Public Key Authentication]. | 
|  |  | 
|  | [[GSHAG332]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * SSH is set up on each host where you are setting up public key | 
|  | authentication. For more information, see the following sections: | 
|  |  | 
|  | ** link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | ** link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | ** link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  |  | 
|  | * Only the SSH user has write access to the following files and | 
|  | directories on each host where you are setting up public key | 
|  | authentication: | 
|  |  | 
|  | ** The SSH user's home directory | 
|  | ** The `~/.ssh` directory | 
|  | ** The `authorized_key` file | 
|  | + | 
|  | If other users can write to these files and directories, the secure | 
|  | service might not trust the `authorized_key` file and might disallow | 
|  | public key authentication. | 
|  |  | 
|  |  | 
|  | 1. Generate an SSH key pair and distribute the public key file to the | 
|  | hosts where you are setting up public key authentication. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for setting up an SSH | 
|  | key, see the link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> setup-ssh [--sshuser sshuser] host-list | 
|  | ---- | 
|  | sshuser:: | 
|  | The SSH user for which you are generating the SSH key pair. If you are | 
|  | running the subcommand as the SSH user, you may omit this option. | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts where the SSH public | 
|  | key is to be distributed. | 
|  | + | 
|  | 2. After generating the SSH key pair, the subcommand uses SSH to log in to | 
|  | each host in host-list as the SSH user to distribute the public key. | 
|  | Each time a password is required to log in to a host, you are prompted | 
|  | for the SSH user's password. | 
|  | + | 
|  | In response to each prompt for a password, type the SSH user's password. | 
|  |  | 
|  | [[GSHAG00017]][[gktat]] | 
|  | Example 2-6 Setting Up Public Key Authentication Without Encryption | 
|  |  | 
|  | This example generates and sets up an SSH key for the user `gfuser` on | 
|  | the hosts `sua01` and `sua02`. The command is run by the user `gfuser`. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | asadmin> setup-ssh --generatekey=true sua01 sua02 | 
|  | Enter SSH password for gfuser@sua01> | 
|  | Created directory /home/gfuser/.ssh | 
|  | /usr/bin/ssh-keygen successfully generated the identification /home/gfuser/.ssh/id_rsa | 
|  | Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua01 | 
|  | Successfully connected to gfuser@sua01 using keyfile /home/gfuser/.ssh/id_rsa | 
|  | Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua02 | 
|  | Successfully connected to gfuser@sua02 using keyfile /home/gfuser/.ssh/id_rsa | 
|  | Command setup-ssh executed successfully. | 
|  | ---- | 
|  |  | 
|  | [[GSHAG333]] | 
|  |  | 
|  | Next Steps | 
|  |  | 
|  | After setting up public key authentication, test the setup by using | 
|  | `ssh` to log in as the SSH user to each host where the public key was | 
|  | distributed. For each host, log in first with the unqualified host name | 
|  | and then with the fully qualified name. If SSH does not prompt for | 
|  | password, public key authentication is set up correctly on the host. | 
|  |  | 
|  | If you are prompted for a password, verify that the public key file was | 
|  | copied correctly to the SSH user's `authorized_keys` file. | 
|  |  | 
|  | [[GSHAG334]] | 
|  |  | 
|  | Troubleshooting | 
|  |  | 
|  | Setup might fail because file access permissions in the SSH user's home | 
|  | directory are too permissive. In this situation, ensure that the file | 
|  | access permissions in the SSH user's home directory meet the | 
|  | requirements for performing this procedure. | 
|  |  | 
|  | If you have set the file access permissions in the SSH user's home | 
|  | directory correctly, setup might still fail if you are using the MKS | 
|  | Toolkit. In this situation, correct the problem in one of the following | 
|  | ways: | 
|  |  | 
|  | * On each remote host, copy the public key file to the SSH user's | 
|  | `~/.ssh` directory and import the file. To import the file, select the | 
|  | Secure Service tab in the MKS configuration GUI and click Passwordless. | 
|  | * Disable strict modes. | 
|  |  | 
|  | [[GSHAG335]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | * link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | * link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  | * link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommand by | 
|  | typing `asadmin help setup-ssh` at the command line. | 
|  |  | 
|  | [[gktaq]][[GSHAG00084]][[to-set-up-encrypted-public-key-authentication]] | 
|  |  | 
|  | ==== To Set Up Encrypted Public Key Authentication | 
|  |  | 
|  | Encrypted key file authentication uses an encrypted private key file | 
|  | that is protected with a passphrase. This passphrase must be provided to | 
|  | use the private key to unlock the public key. If you require encrypted | 
|  | public key authentication, you must use the SSH utility `ssh-keygen` to | 
|  | generate an SSH key pair with an encrypted private key. You can then use | 
|  | the `setup-ssh` subcommand to distribute the public key file to | 
|  | specified hosts. | 
|  |  | 
|  | To use the encrypted key file, {productName} requires the passphrase | 
|  | with which the key file was encrypted. To provide this passphrase | 
|  | securely to {productName}, create a {productName} password alias | 
|  | to represent the passphrase and store this alias in a password file that | 
|  | is passed to the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. | 
|  |  | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | each step. For information about all the options for the commands and | 
|  | subcommands in this task, see their help pages or man pages. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | [[GSHAG336]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * SSH is set up on each host where you are setting up public key | 
|  | authentication. For more information, see the following sections: | 
|  |  | 
|  | ** link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | ** link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | ** link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  |  | 
|  | * Only the SSH user has write access to the following files and | 
|  | directories on each host where you are setting up public key | 
|  | authentication: | 
|  |  | 
|  | ** The SSH user's home directory | 
|  | ** The `~/.ssh` directory | 
|  | ** The `authorized_key` file | 
|  | + | 
|  | If other users can write to these files and directories, the secure | 
|  | service might not trust the `authorized_key` file and might disallow | 
|  | public key authentication. | 
|  |  | 
|  | 1. Generate an SSH key pair with an encrypted private key file. | 
|  | + | 
|  | Use the SSH utility | 
|  | http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`] | 
|  | for this purpose. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ ssh-keygen -t type | 
|  | ---- | 
|  | type:: | 
|  | The algorithm that is to be used for the key and which must be `rsa`, | 
|  | `dsa`, or `rsa1`. | 
|  | + | 
|  | The `ssh-keygen` utility prompts you for a file in which to save the key. | 
|  |  | 
|  | 2. To simplify the distribution of the key file, accept the default file. | 
|  | + | 
|  | The `ssh-keygen` utility prompts you for a passphrase. | 
|  |  | 
|  | 3. [[gktbh]] | 
|  | In response to the prompt, type your choice of passphrase for encrypting | 
|  | the private key file. | 
|  | 4. The `ssh-keygen` utility prompts you to type the passphrase again. | 
|  | + | 
|  | In response to the prompt, type the passphrase that you set in Step link:#gktbh[3]. | 
|  |  | 
|  | 5. Distribute the public key file to the hosts where you are setting up | 
|  | public key authentication. | 
|  | + | 
|  | Use the link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`] | 
|  | `asadmin` subcommand for this purpose. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ asadmin setup-ssh --generatekey=false host-list | 
|  | ---- | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts where the SSH public | 
|  | key is to be distributed. | 
|  | + | 
|  | The subcommand uses SSH to log in to each host in host-list as the SSH | 
|  | user to distribute the public key. Each time a passphrase or a password | 
|  | is required to log in to a host, you are prompted for the passphrase or | 
|  | the SSH user's password. | 
|  |  | 
|  | 6. In response to each prompt, type the requested information. | 
|  | + | 
|  | -- | 
|  | * In response to each prompt for a passphrase, type the passphrase that | 
|  | you set in Step link:#gktbh[3]. | 
|  | * In response to each prompt for a password, type the SSH user's password. | 
|  | -- | 
|  | + | 
|  | 7. [[gktbm]] | 
|  | Create a {productName} password alias for the passphrase that you set | 
|  | in Step link:#gktbh[3]. | 
|  | [arabic] | 
|  | .. Ensure that the DAS is running. + | 
|  | Remote subcommands require a running server. | 
|  | .. Run the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`] | 
|  | `asadmin` subcommand. | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | $ asadmin create-password-alias alias-name | 
|  | ---- | 
|  | alias-name:: | 
|  | Your choice of name for the alias that you are creating. | 
|  | + | 
|  | The `create-password-alias` subcommand prompts you to type the | 
|  | passphrase for which you are creating an alias. | 
|  | .. In response to the prompt, type the passphrase that you set in | 
|  | Step link:#gktbh[3]. | 
|  | + | 
|  | The `create-password-alias` subcommand prompts you to type the passphrase again. | 
|  | .. In response to the prompt, type the passphrase that you set in | 
|  | Step link:#gktbh[3] again. | 
|  |  | 
|  | 8. Create a plain text file that contains the following entry for the passphrase alias: | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=alias-name} | 
|  | ---- | 
|  | alias-name:: | 
|  | The alias name that you specified in Step link:#gktbm[7]. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | When you create an `SSH` node, pass this file as the `--passwordfile` | 
|  | option of the `asadmin` utility. For more information, see | 
|  | link:nodes.html#gkrnf[To Create an `SSH` Node]. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | [[GSHAG00018]][[gktav]] | 
|  | Example 2-7 Setting Up Encrypted Public Key Authentication | 
|  |  | 
|  | This example generates an SSH key pair with an encrypted private key for | 
|  | the user `gfadmin` and distributes the public key to the hosts `sj01` | 
|  | and `ja02`. The example also creates an alias that is named | 
|  | `ssh-key-passphrase` for the private key's passphrase. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ ssh-keygen -t rsa | 
|  | Generating public/private rsa key pair. | 
|  | Enter file in which to save the key (/home/gfadmin/.ssh/id_rsa): | 
|  | Enter passphrase (empty for no passphrase): | 
|  | Enter same passphrase again: | 
|  | Your identification has been saved in /home/gfadmin/.ssh/id_rsa. | 
|  | Your public key has been saved in /home/gfadmin/.ssh/id_rsa.pub. | 
|  | The key fingerprint is: | 
|  | db:b5:f6:0d:fe:16:33:91:20:64:90:1a:84:66:f5:d0 gfadmin@dashost | 
|  | $ asadmin setup-ssh --generatekey=false sj01 sj02 | 
|  | Key /home/gfadmin/.ssh/id_rsa is encrypted | 
|  | Enter key passphrase> | 
|  | Enter SSH password for gfadmin@sj01> | 
|  | Copied keyfile /home/gfadmin/.ssh/id_rsa.pub to gfadmin@sj01 | 
|  | Successfully connected to gfadmin@sj01 using keyfile /home/gfadmin/.ssh/id_rsa | 
|  | Successfully connected to gfadmin@sj02 using keyfile /home/gfadmin/.ssh/id_rsa | 
|  | SSH public key authentication is already configured for gfadmin@sj02 | 
|  | Command setup-ssh executed successfully. | 
|  | $ asadmin create-password-alias ssh-key-passphrase | 
|  | Enter the alias password> | 
|  | Enter the alias password again> | 
|  | Command create-password-alias executed successfully. | 
|  | ---- | 
|  |  | 
|  | The entry in the password file for the `ssh-key-passphrase` alias is as | 
|  | follows: | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=ssh-key-passphrase} | 
|  | ---- | 
|  |  | 
|  | [[GSHAG337]] | 
|  |  | 
|  | Troubleshooting | 
|  |  | 
|  | Setup might fail because file access permissions in the SSH user's home | 
|  | directory are too permissive. In this situation, ensure that the file | 
|  | access permissions in the SSH user's home directory meet the | 
|  | requirements for performing this procedure. | 
|  |  | 
|  | If you have set the file access permissions in the SSH user's home | 
|  | directory correctly, setup might still fail if you are using the MKS | 
|  | Toolkit. In this situation, correct the problem in one of the following | 
|  | ways: | 
|  |  | 
|  | * On each remote host, copy the public key file to the SSH user's | 
|  | `~/.ssh` directory and import the file. To import the file, select the | 
|  | Secure Service tab in the MKS configuration GUI and click Passwordless. | 
|  | * Disable strict modes. | 
|  |  | 
|  | [[GSHAG338]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | * link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | * link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  | * link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] | 
|  | * link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] | 
|  | * link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)] | 
|  | * http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommands by | 
|  | typing the following commands at the command line: | 
|  |  | 
|  | * `asadmin help create-password-alias` | 
|  | * `asadmin help setup-ssh` | 
|  |  | 
|  | [[gktbd]][[GSHAG00085]][[to-set-up-password-authentication]] | 
|  |  | 
|  | ==== To Set Up Password Authentication | 
|  |  | 
|  | To use SSH to log in to a remote host, {productName} requires the SSH | 
|  | user's password. To provide this password securely to {productName}, | 
|  | create a {productName} password alias to represent the password and | 
|  | store this alias in a password file that is passed to the | 
|  | link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. | 
|  |  | 
|  | [[GSHAG339]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that SSH is set up on each host where you are setting up password | 
|  | authentication. For more information, see the following sections: | 
|  |  | 
|  | * link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | * link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | * link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  |  | 
|  | 1. Ensure that the DAS is running. + | 
|  | Remote subcommands require a running server. | 
|  |  | 
|  | 2. [[gktbb]] | 
|  | Create an alias for the SSH user's password. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for creating a password | 
|  | alias, see the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> create-password-alias alias-name | 
|  | ---- | 
|  | alias-name:: | 
|  | Your choice of name for the alias that you are creating. | 
|  |  | 
|  | 3. The `create-password-alias` subcommand prompts you to type the password | 
|  | for which you are creating an alias. + | 
|  | In response to the prompt, type the SSH user's password. + | 
|  | The `create-password-alias` subcommand prompts you to type the password again. | 
|  |  | 
|  | 4. In response to the prompt, type the SSH user's password again. | 
|  |  | 
|  | 5. Create a plain text file that contains the following entry for the password alias: | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_SSHPASSWORD=${ALIAS=alias-name} | 
|  | ---- | 
|  | alias-name:: | 
|  | The alias name that you specified in Step link:#gktbb[2]. | 
|  |  | 
|  | [NOTE] | 
|  | ==== | 
|  | When you create an `SSH` node, pass this file as the `--passwordfile` | 
|  | option of the `asadmin` utility. For more information, see | 
|  | link:nodes.html#gkrnf[To Create an `SSH` Node]. | 
|  | ==== | 
|  |  | 
|  |  | 
|  | [[GSHAG00019]][[gktba]] | 
|  | Example 2-8 Creating an Alias for the SSH User's Password | 
|  |  | 
|  | This example creates an alias that is named `ssh-password` for the SSH user's password. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | $ asadmin create-password-alias ssh-password | 
|  | Enter the alias password> | 
|  | Enter the alias password again> | 
|  | Command create-password-alias executed successfully. | 
|  | ---- | 
|  |  | 
|  | The entry in the password file for the `ssh-password` alias is as follows: | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | AS_ADMIN_SSHPASSWORD=${ALIAS=ssh-password} | 
|  | ---- | 
|  |  | 
|  | [[GSHAG340]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:#gksiy[Setting Up Cygwin SSH on Windows] | 
|  | * link:#gkskf[Setting Up the MKS Toolkit on Windows] | 
|  | * link:#gksja[Setting Up SSH on UNIX and Linux Systems] | 
|  | * link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] | 
|  | * link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommand by | 
|  | typing `asadmin help create-password-alias` at the command line. | 
|  |  | 
|  | [[gkshn]][[GSHAG00178]][[installing-and-removing-glassfish-server-software-on-multiple-hosts]] | 
|  |  | 
|  | === Installing and Removing {productName} Software on Multiple Hosts | 
|  |  | 
|  | {productName} software must be installed on all hosts where {productName} will run. How to install {productName} software on multiple | 
|  | hosts depends on the degree of control that you require over the | 
|  | installation on each host. | 
|  |  | 
|  | * If you require complete control over the installation on each host, | 
|  | install the software from a {productName} distribution on each host | 
|  | individually. For more information, see link:installation-guide.html#GSING[{productName} Installation Guide]. | 
|  | * If the same set up on each host is acceptable, copy an existing | 
|  | {productName} installation to the hosts. For more information, see | 
|  | link:#gksil[To Copy a {productName} Installation to Multiple Hosts]. | 
|  |  | 
|  | {productName} also enables you to remove {productName} software | 
|  | from multiple hosts in a single operation. For more information, see | 
|  | link:#gktaw[To Remove {productName} Software From Multiple Hosts]. | 
|  |  | 
|  | The following topics are addressed here: | 
|  |  | 
|  | * link:#gksil[To Copy a {productName} Installation to Multiple Hosts] | 
|  | * link:#gktaw[To Remove {productName} Software From Multiple Hosts] | 
|  |  | 
|  | [[gksil]][[GSHAG00086]][[to-copy-a-glassfish-server-installation-to-multiple-hosts]] | 
|  |  | 
|  | ==== To Copy a {productName} Installation to Multiple Hosts | 
|  |  | 
|  | Use the `install-node-dcom` subcommand or the `install-node-ssh` | 
|  | subcommand in local mode to copy an installation of {productName} | 
|  | software to multiple hosts. | 
|  |  | 
|  | [[GSHAG341]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that DCOM or SSH is set up on the host where you are running the | 
|  | subcommand and on each host where you are copying the {productName} | 
|  | software. | 
|  |  | 
|  | Run the appropriate subcommand for the protocol that is set up for | 
|  | communication between the hosts. | 
|  |  | 
|  | * If DCOM is set up for communication between the hosts, run the | 
|  | `install-node-dcom` subcommand. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for copying an | 
|  | installation of {productName} software, see the | 
|  | link:reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> install-node-dcom host-list | 
|  | ---- | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts where you are copying | 
|  | the installation of {productName} software. | 
|  | * If SSH is set up for communication between the hosts, run the | 
|  | `install-node-ssh` subcommand. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in | 
|  | this step. For information about all the options for copying an | 
|  | installation of {productName} software, see the | 
|  | link:reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> install-node-ssh host-list | 
|  | ---- | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts where you are copying | 
|  | the installation of {productName} software. | 
|  |  | 
|  | [[GSHAG461]][[sthref9]] | 
|  | Example 2-9 Copying a {productName} Installation to Multiple | 
|  | DCOM-Enabled Hosts | 
|  |  | 
|  | This example copies the {productName} software on the host where the | 
|  | subcommand is run to the default location on the DCOM-enabled hosts | 
|  | `wpmdl1.example.com` and `wpmdl2.example.com`. | 
|  |  | 
|  | Some lines of output are omitted from this example for readability. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | asadmin> install-node-dcom wpmdl1.example.com wpmdl2.example.com | 
|  | Created installation zip C:\glassfish8107276692860773166.zip | 
|  | Copying 85760199 bytes.......................................................... | 
|  | .................................... | 
|  | WROTE FILE TO REMOTE SYSTEM: C:/glassfish7/glassfish_install.zip and C:/glassfish7/unpack.bat | 
|  | Output from Windows Unpacker: | 
|  |  | 
|  | C:\Windows\system32>C: | 
|  |  | 
|  | C:\Windows\system32>cd "C:\glassfish7" | 
|  |  | 
|  | C:\glassfish7>jar xvf glassfish_install.zip | 
|  | inflated: bin/asadmin | 
|  | inflated: bin/asadmin.bat | 
|  | inflated: glassfish/bin/appclient | 
|  | inflated: glassfish/bin/appclient.bat | 
|  | inflated: glassfish/bin/appclient.js | 
|  | inflated: glassfish/bin/asadmin | 
|  | inflated: glassfish/bin/asadmin.bat | 
|  | ... | 
|  | inflated: mq/lib/props/broker/default.properties | 
|  | inflated: mq/lib/props/broker/install.properties | 
|  |  | 
|  | Command install-node-dcom executed successfully. | 
|  | ---- | 
|  |  | 
|  | [[GSHAG342]][[sthref10]] | 
|  | Example 2-10 Copying a {productName} Installation to Multiple | 
|  | SSH-Enabled Hosts | 
|  |  | 
|  | This example copies the {productName} software on the host where the | 
|  | subcommand is run to the default location on the SSH-enabled hosts | 
|  | `sj03.example.com` and `sj04.example.com`. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | asadmin> install-node-ssh sj03.example.com sj04.example.com | 
|  | Created installation zip /home/gfuser/glassfish2339538623689073993.zip | 
|  | Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser | 
|  | /.ssh/id_rsa | 
|  | Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to | 
|  | sj03.example.com:/export/glassfish7 | 
|  | Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish7 | 
|  | Removing sj03.example.com:/export/glassfish7/glassfish2339538623689073993.zip | 
|  | Fixing file permissions of all files under sj03.example.com:/export/glassfish7/bin | 
|  | Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser | 
|  | /.ssh/id_rsa | 
|  | Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to | 
|  | sj04.example.com:/export/glassfish7 | 
|  | Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish7 | 
|  | Removing sj04.example.com:/export/glassfish7/glassfish2339538623689073993.zip | 
|  | Fixing file permissions of all files under sj04.example.com:/export/glassfish7/bin | 
|  | Command install-node-ssh executed successfully | 
|  | ---- | 
|  |  | 
|  | [[GSHAG343]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)] | 
|  | * link:reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommands by | 
|  | typing the following commands at the command line: | 
|  |  | 
|  | * `asadmin help install-node-dcom` | 
|  | * `asadmin help install-node-ssh` | 
|  |  | 
|  | [[gktaw]][[GSHAG00087]][[to-remove-glassfish-server-software-from-multiple-hosts]] | 
|  |  | 
|  | ==== To Remove {productName} Software From Multiple Hosts | 
|  |  | 
|  | Use the `uninstall-node-dcom` subcommand or the `uninstall-node-ssh` | 
|  | subcommand in local mode to remove {productName} software from | 
|  | multiple hosts. | 
|  |  | 
|  | [[GSHAG344]] | 
|  |  | 
|  | Before You Begin | 
|  |  | 
|  | Ensure that the following prerequisites are met: | 
|  |  | 
|  | * DCOM or SSH is set up on the host where you are running the subcommand | 
|  | and on each host from which you are removing the {productName} software. | 
|  |  | 
|  | * No process is accessing the parent of the base installation directory | 
|  | for the {productName} software or any subdirectory of this directory. | 
|  |  | 
|  | * The parent of the base installation directory for the {productName} | 
|  | software is the same on each host from which you are removing the | 
|  | {productName} software. | 
|  |  | 
|  | * For hosts that use DCOM for remote communication, the configuration of | 
|  | the following items is the same on each host: | 
|  |  | 
|  | ** Windows Domain | 
|  | ** Windows User | 
|  |  | 
|  | * For hosts that use SSH for remote communication, the configuration of | 
|  | the following items is the same on each host: | 
|  |  | 
|  | ** SSH port | 
|  | ** SSH user | 
|  | ** SSH key file | 
|  |  | 
|  | Run the appropriate subcommand for the protocol that is set up for | 
|  | communication between the hosts. | 
|  |  | 
|  | * If DCOM is set up for communication between the hosts, run the | 
|  | `uninstall-node-dcom` subcommand. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in this step. | 
|  | For information about all the options for removing {productName} software, see the | 
|  | link:reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> uninstall-node-dcom host-list | 
|  | ---- | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts from which you are | 
|  | removing {productName} software. | 
|  | * If SSH is set up for communication between the hosts, run the | 
|  | `uninstall-node-ssh` subcommand. | 
|  | + | 
|  | [NOTE] | 
|  | ==== | 
|  | Only the options that are required to complete this task are provided in this step. | 
|  | For information about all the options for removing {productName} software, see the | 
|  | link:reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)] help page. | 
|  | ==== | 
|  | + | 
|  | [source] | 
|  | ---- | 
|  | asadmin> uninstall-node-ssh host-list | 
|  | ---- | 
|  | host-list:: | 
|  | A space-separated list of the names of the hosts from which you are | 
|  | removing {productName} software. | 
|  |  | 
|  | [[GSHAG462]][[sthref11]] | 
|  | Example 2-11 Removing {productName} Software From Multiple | 
|  | DCO\M-Enabled Hosts | 
|  |  | 
|  | This example removes {productName} software on the DCOM-enabled hosts | 
|  | `wpmdl1.example.com` and `wpmdl2.example.com` from the default location. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | asadmin> uninstall-node-dcom wpmdl1 wpmdl2 | 
|  | Command uninstall-node-dcom executed successfully. | 
|  | ---- | 
|  |  | 
|  | [[GSHAG345]][[sthref12]] | 
|  | Example 2-12 Removing {productName} Software From Multiple | 
|  | SSH-Enabled Hosts | 
|  |  | 
|  | This example removes {productName} software on the SSH-enabled hosts | 
|  | `sj03.example.com` and `sj04.example.com` from the default location. | 
|  |  | 
|  | [source] | 
|  | ---- | 
|  | asadmin> uninstall-node-ssh sj03 sj04 | 
|  | Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser | 
|  | /.ssh/id_rsa | 
|  | Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser | 
|  | /.ssh/id_rsa | 
|  | Command uninstall-node-ssh executed successfully. | 
|  | ---- | 
|  |  | 
|  | [[GSHAG346]] | 
|  |  | 
|  | See Also | 
|  |  | 
|  | * link:reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)] | 
|  | * link:reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)] | 
|  |  | 
|  | You can also view the full syntax and options of the subcommands by | 
|  | typing the following commands at the command line: | 
|  |  | 
|  | * `asadmin help uninstall-node-dcom` | 
|  | * `asadmin help uninstall-node-ssh` |