Manually configuring passwordless ssh

The ssh program enables you to log into and execute commands on a remote system. ssh enables encrypted communications and an authentication process between two untrusted hosts over an insecure network.

In this procedure, you first create a DSA key pair. From the key pair, you append the public key from the source system to the authorized_keys file on the target systems.

Read the ssh documentation and online manual pages before enabling ssh. Contact your operating system support provider for issues regarding ssh configuration.

Visit the Openssh website that is located at: http://www.openssh.com/ to access online manuals and other resources.

To create the DSA key pair

  1. On the source system (sys1), log in as root, and navigate to the root directory.
    sys1 # cd /
  2. Make sure the /.ssh directory is on all the target installation systems (sys2 in this example). If that directory is not present, create it on all the target systems and set the write permission to root only:

    Change the permissions of this directory, to secure it.

  3. To generate a DSA key pair on the source system, type the following command:
    sys1 # ssh-keygen -t dsa

    System output similar to the following is displayed:

    Generating public/private dsa key pair.
    Enter file in which to save the key (//.ssh/id_dsa):
  4. Press Enter to accept the default location of /.ssh/id_dsa.
  5. When the program asks you to enter the passphrase, press the Enter key twice.
    Enter passphrase (empty for no passphrase):

    Do not enter a passphrase. Press Enter.

    Enter same passphrase again:

    Press Enter again.

To append the public key from the source system to the authorized_keys file on the target system, using secure file transfer

  1. From the source system (sys1), move the public key to a temporary file on the target system (sys2).

    Use the secure file transfer program.

    In this example, the file name id_dsa.pub in the root directory is the name for the temporary file for the public key.

    Use the following command for secure file transfer:

    sys1 # sftp sys2

    If the secure file transfer is set up for the first time on this system, output similar to the following lines is displayed:

    Connecting to sys2 ...
    The authenticity of host 'sys2 (10.182.00.00)' 
    can't be established. DSA key fingerprint is
    fb:6f:9f:61:91:9d:44:6b:87:86:ef:68:a6:fd:88:7d.
    Are you sure you want to continue connecting (yes/no)?
  2. Enter yes.

    Output similar to the following is displayed:

    Warning: Permanently added 'sys2,10.182.00.00' 
    (DSA) to the list of known hosts.
    root@sys2 password:
  3. Enter the root password of sys2.
  4. At the sftp prompt, type the following command:
    sftp> put /.ssh/id_dsa.pub

    The following output is displayed:

    Uploading /.ssh/id_dsa.pub to /id_dsa.pub
  5. To quit the SFTP session, type the following command:
    sftp> quit
  6. To begin the ssh session on the target system (sys2 in this example), type the following command on sys1:
    sys1 # ssh sys2

    Enter the root password of sys2 at the prompt:

    password:
  7. After you log in to sys2, enter the following command to append the id_dsa.pub file to the authorized_keys file:
    sys2 # cat /id_dsa.pub >> /.ssh/authorized_keys
  8. After the id_dsa.pub public key file is copied to the target system (sys2), and added to the authorized keys file, delete it. To delete the id_dsa.pub public key file, enter the following command on sys2:
    sys2 # rm /id_dsa.pub
  9. To log out of the ssh session, enter the following command:
    sys2 # exit
  10. Run the following commands on the source installation system. If your ssh session has expired or terminated, you can also run these commands to renew the session. These commands bring the private key into the shell environment and make the key globally available to the user root:
    sys1 # exec /usr/bin/ssh-agent $SHELL
    sys1 # ssh-add
      Identity added: //.ssh/id_dsa

    This shell-specific step is valid only while the shell is active. You must execute the procedure again if you close the shell during the session.

To verify that you can connect to a target system

  1. On the source system (sys1), enter the following command:
    sys1 # ssh -l root sys2 uname -a

    where sys2 is the name of the target system.

  2. The command should execute from the source system (sys1) to the target system (sys2) without the system requesting a passphrase or password.
  3. Repeat this procedure for each target system.