type=page
status=published
title=setup-ssh
next=set-web-context-param.html
prev=setup-local-dcom.html
~~~~~~

= setup-ssh

[[setup-ssh-1]][[GSRFM00229]][[setup-ssh]]

== setup-ssh

Sets up an SSH key on specified hosts

[[sthref2074]]

=== Synopsis

[source]
----
asadmin [asadmin-options] setup-ssh [--help]
[--sshport ssh-port] [--sshuser ssh-user]
[--sshkeyfile ssh-keyfile] [--sshpublickeyfile ssh-public-keyfile]
[--generatekey={false|true}]
host-list
----

[[sthref2075]]

=== Description

The `setup-ssh` subcommand sets up a secure shell (SSH) key on the hosts
that are specified as the operand of the subcommand. This key enables
{productName} to use public-key authentication for authentication of
the user's SSH login on remote hosts.

SSH ensures that {productName} clusters that span multiple hosts can
be administered centrally. When a user runs a subcommand for cluster
administration that acts on multiple hosts, the subcommand is propagated
from the domain administration server (DAS) host to remote hosts. To
propagate subcommands that act on a {productName} instance that is
not running, or on a node where no instances are running,
{productName} uses SSH. SSH provides confidentiality and security
for data that is exchanged between the DAS and remote hosts.

Public-key authentication uses an SSH key pair that comprises the
following keys:

* A private key, which is stored in a secure location on the DAS host
and which may be protected with a passphrase
* The public key, which is stored on all the remote hosts with which the
DAS communicates

The subcommand does not require any configuration information from the
DAS and does not modify the configuration of the DAS.

This subcommand is supported in local mode only.

Prerequisites for Using the `setup-ssh` Subcommand

To use the `setup-ssh` subcommand, the SSH user must be able to use SSH
to log in to remote hosts where SSH is to be set up. Specifically, the
following prerequisites must be met:

* The
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)]
client is installed on the DAS host and is accessible through the DAS
user's path.
* The
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]
daemon is installed and running on all hosts where an SSH key is to be
set up.
* The user that the `--sshuser` option specifies has an SSH login on all
hosts where an SSH key is to be set up.
* The
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
utility is installed on the DAS host either at the default location or
in a location that is defined in the DAS user's path.
* On Windows systems, the SSH package for http://www.cygwin.com/[Cygwin]
(http://www.cygwin.com/) or an http://www.mkssoftware.com/[MKS Software]
(http://www.mkssoftware.com/) toolkit that provides SSH is installed.

Behavior of the `setup-ssh` Subcommand

The subcommand sets up SSH connectivity between the DAS host and remote
hosts by automating the following tasks:

* Generating an SSH key pair. If no SSH key pair exists, the default
behavior of the subcommand is to prompt the user to generate an SSH key
pair. The SSH key pair is generated without an encryption passphrase. If
a passphrase-protected key pair is required, the key pair must be
generated manually by using the SSH
command http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)].
* Distributing the public key. The subcommand appends the content of the
public key file to the user-home``/.ssh/authorized_keys`` file on each
remote host. By default, the subcommand locates the public key file in
the user-home``/.ssh`` directory on the host where the subcommand is run.
If the user-home``/.ssh/authorized_keys`` file does not exist on a host,
the subcommand creates the file. user-home is the user's home directory
on a host.
+
To distribute the public key, authentication of the user's SSH login is
required. If the private key is protected by a passphrase, the
passphrase is also required. By default, the subcommand prompts the user
for the password and, if necessary, the passphrase. To distribute the
public key without being prompted, run the subcommand as follows:

** Set the `--interactive` option of the
link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility to `false`.

** Set the `--passwordfile` option of the `asadmin` utility to a file in
which the `AS_ADMIN_SSHPASSWORD` entry specifies the SSH user's password
for logging in to the specified hosts.

** If a passphrase is required, ensure that the file that
`--passwordfile` option of the `asadmin` utility specifies also contains
an entry for `AS_ADMIN_SSHKEYPASSPHRASE`. +
If public key authentication is already set up on a host, the subcommand
informs the user that public key authentication is already set up and
does not distribute the key to the host.

[[sthref2076]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--sshport`::
  The port to use for SSH connections to the host where SSH is being set
  up. The default is 22.
`--sshuser`::
  The SSH user on the remote host that is to run the process for setting
  up SSH on that host. The default is the user that is running this
  subcommand. To ensure that the DAS can read this user's SSH private
  key file, specify the user that is running the DAS process.
`--sshkeyfile`::
  The absolute path to the SSH private key file for user that the
  `--sshuser` option specifies. This file is used for authentication to
  the `sshd` daemon on the host. +
  The user that is running this subcommand must be able to reach the
  path to the key file and read the key file. +
  The default is a key file in the user's `.ssh` directory on the host
  where the subcommand is run. If multiple key files are found, the
  subcommand uses the following order of preference:
  1. `id_rsa`
  2. `id_dsa`
  3. `identity`
`--sshpublickeyfile`::
  The absolute path to the SSH public key file for user that the
  `--sshuser` option specifies. The content of the public key file is
  appended to the user's `.ssh/authorized_keys` file on each host where
  SSH is being set up. If the `.ssh/authorized_keys` file does not exist
  on a host, the subcommand creates the file. +
  The user that is running this subcommand must be able to reach the
  path to the key file and read the key file. +
  The default is a key file in the user's `.ssh` directory on the host
  where the subcommand is run. If multiple key files are found, the
  subcommand uses the following order of preference:
  1.  `id_rsa.pub`
  2.  `id_dsa.pub`
  3.  `identity.pub`
`--generatekey`::
  Specifies whether the subcommand generates the SSH key files without
  prompting the user.
  Possible values are as follows:

  `true`;;
    The subcommand generates the SSH key files without prompting the user.
  `false`;;
    The behavior of the subcommand depends on whether the SSH key files exist:

+
    * If the SSH key files exist, the subcommand does not generate the files.
    * If the SSH key files do not exist, the behavior of the subcommand
    depends on the value of the `--interactive` option of the `asadmin` utility:
+
--
    ** If the `--interactive` option is `true`, the subcommand prompts
    the user to create the files.
    ** If the `--interactive` option is `false`, the subcommand fails.
    This value is the default.
--

[[sthref2077]]

=== Operands

host-list::
  A space-separated list of the names of the hosts where an SSH key is
  to be set up.

[[sthref2078]]

=== Examples

[[GSRFM751]][[sthref2079]]

==== Example 1   Setting Up an SSH Key

This example sets up an SSH key for the user `gfuser` on the hosts
`sj03` and `sj04`. The key file is not generated but is copied from the
user's `.ssh` directory on the host where the subcommand is running.

[source]
----
asadmin> setup-ssh sj03 sj04
Enter SSH password for gfuser@sj03>
Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj03
Successfully connected to gfuser@sj03 using keyfile /home/gfuser/.ssh/id_rsa
Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj04
Successfully connected to gfuser@sj04 using keyfile /home/gfuser/.ssh/id_rsa
Command setup-ssh executed successfully.
----

[[GSRFM752]][[sthref2080]]

==== Example 2   Generating and Setting Up an SSH Key

This example generates and sets up an SSH key for the user `gfuser` on
the hosts `sua01` and `sua02`.

[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.
----

[[sthref2081]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref2082]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)],
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]

http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]

Cygwin Information and Installation (`http://www.cygwin.com/`), MKS
Software (`http://www.mkssoftware.com/`)


