Aix Generate Ssh Host Keys
Aix Generate Ssh Host Keys 4,7/5 2163 reviews

A step-by-step guide for enabling EFS keystore access while OpenSSH Public Key Authentication is used

  1. Aix Generate Ssh Host Keys In Windows 10

Aix Generate Ssh Host Keys In Windows 10

What is EFS?

In general, the Encrypted Files System (EFS) support on AIX enables individual users on the system to encrypt their data and also access it through keyed protection. Users will be able to setup keys and assign a default key for EFS. These keys are stored in cryptographically protected key store and upon successful login, the user's keys are loaded into the kernel and associated with the kernel processes.

Private keys are associated to users and groups. These keys are stored in keystores and are protected by passwords. A user keystore contains the user's private key and also password to open the user's group keystores; the group keystores contain the groups' private keys.

When a process opens a keystore, either at user login time or using a specific EFS user command, the keys contained in this keystore (and related keystores) are loaded in the kernel and associated with the process credentials. Later on,when the process needs to open an EFS protected file, these credentials are tested. If a key matching the file protection is found, then the process is able to decrypt the file key and therefore the file content.

Keystore creation or opening can happen at login time, by the way of an EFS LAM (old) or PAM (new) module. These modules, as well as the commands (for example, chmod) make calls to some EFS APIs provided by a libefs.a library. Two user commands exist, efsmgr and efskeymgr, to give some control over EFS to the user and administrator.

How to setup Public Key Authentication in OpenSSH

The server uses a separate public and private key to establish this connection. Also, as SSH key pairs are used to authenticate users on a server, each user will have their own public and private keys for this purpose. Generating a SSH key pair. OpenSSH comes with a tool called ssh-keygen to generate key pairs. By default, it uses 2048-bit RSA. How to configure ssh-agent on AIXPlease read the article How to configure ssh-agent on AIX More on UnixMantra. Generating public/private rsa key pair. Generate the host keys for the SSH server based on the protocol that you plan to use. (Host keys allow a client to verify the identity of the server.) The key files must be stored in the IBM-1047 (EBCDIC) code set.

Create a user on the client side and generate keys for this user. Public-private key pairs can be generated using the ssh-keygen command.

  • The ssh-keygen program can be used for generating additional host keys or for replacing existing keys. Known Host Keys. SSH clients store host keys for hosts they have ever connected to. These stored host keys are called known host keys, and the collection is often called known hosts.
  • The SSH tool ssh-keyscan, shown in Listing 4, allows you to gather the public SSH host keys from multiple remote SSH hosts. The tool is helpful in building of the /etc/sshknownhosts files and is exceptionally fast and efficient. It is primarily suited to shell scripts for automation purposes.
  1. On the client side, go to /etc/ssh/ssh_config file and set PubkeyAuthentication yes.

    On the server side, go to /etc/ssh/sshd_config file to set PubkeyAuthentication yes.

  2. Configure OpenSSH server and client to use EFS logon while Public Key Authentication.

    On the client side, go to /etc/ssh/ssh_config file and set 'AllowPKCS12keystoreAutoOpen yes'.

    On the server side, go to /etc/ssh/sshd_config file and set 'AllowPKCS12keystoreAutoOpen yes'.

  3. Restart the server:

    Generate keys with the following command using a user created as follows:

    The command ssh-keygen prompts for passphrase. This passphrase will be used to encrypt the private-key file on the client side. Even ssh-keygen command will accept the empty passphrase, in which case, private-key file will not be encrypted.

    Copy the public keys on to the server in the file ~/.ssh/authorized_keys.

Similarly, any number of a Client user's public key can be copied in the file ~/.ssh/authorized_keys file on server user account.

AIX EFS Configurations

EFS has to be enabled on the server side using the efsenable command. This creates an admin keystore. The keystore gets created for a user in two cases.

  1. Whenever a new user is created.
  2. When passwd is assigned to the user or when user logs in.

The path where user keystore gets created on the system is /var/efs/users/<userlogin>/keystore.

Ssh

The format of user keystore is in PKCS#12 which contains public and private objects. Private objects are protected by user access key. This user access key is nothing but a hash of a user-defined password (either login password or another password specific to EFS).

Public key cookie needs to be created and inserted into the keystore on server side. User invokes the efskeymgr command to insert the cookie. A public key cookie is the passwd encrypted with users public key.

The following steps show how to create a keystore for a user and insert the public key cookies.

When all the previous configuration setting are complete, run the ssh to log onto the remote machine using the public key authentication.

Run the following command to log on to the remote machine:

  • Once the connection is established and public key authentication is successful, the ssh server checks if AllowPKCS12keystoreAutoOpen is set to 'yes' in the sshd_config file. If so, it sends the ssh client a data packet.
  • The ssh client, on receiving this data packet, checks if the same option is enabled on the client side. That is, the ssh client is configured for this feature by checking if the AllowPKCS12keystoreAutoOpen is set to yes in the ssh_config file. If enabled, the client sends an acknowledgement to the server saying that it too supports this feature.
  • On receiving the ACK from the ssh client, the sshd opens the user's efs keystore in /var/efs/user/<username>/keystore and reads the publickey cookie SSHPub(AK) and sends it to ssh client.
  • The ssh client, on receiving the SSHPub from server, decrypts it with its private key and sends the accesskey(AK) back to server. With AK, sshd will open the user's private part of the user's keystore and call the EFS kernel extension to push this opened keystore into the kernel and associate it with the user's log on process.

Verify the authentication and EFS login

The OpenSSH client user ram is all set for Public Key authentication to user laxman on the OpenSSH server with EFS login. Verify the same with ssh login from client:

Aix ssh command

Applications for this setup

This setup can be used along with DB2 UDB DPF for which OpenSSH public key authentication can be used. The DB2 tables are encrypted using EFS.

Troubleshooting

Check if all the configurations listed above have been performed. Check if the public key cookie is inserted properly byefskeymgr command by verifying the keystore file size before and after the insertion. Enable debug for sshd and check if any failures. Also, verify once with password authentication if the account login and efs login succeed.

Downloadable resources

Related topics

  • Learn more about OpenSSH.
  • You can download IBM version of OpenSSH for AIX.
  • EFS on AIX : Learn more about EFS filesystem on AIX 6.1.

How to Generate a Public/Private KeyPair for Use With Solaris Secure Shell

Users must generate a public/private key pair when their site implementshost-based authentication or user public-key authentication. For additionaloptions, see the ssh-keygen(1) manpage.

Before You Begin

Determine from your system administrator if host-based authenticationis configured.

  1. Start the key generation program.


    where -t is the type of algorithm, one of rsa, dsa, or rsa1.

  2. Specify the path to the file that will hold the key.

    Bydefault, the file name id_rsa, which represents an RSAv2 key, appears in parentheses. You can select this file by pressing the Return key. Or, you can type an alternative file name.


    The file name of the public key is created automatically by appendingthe string .pub to the name of the private key file.

  3. Type a passphrase for using your key.

    This passphraseis used for encrypting your private key. A null entry is stronglydiscouraged. Note that the passphrase is not displayed when youtype it in.


  4. Retype the passphrase to confirm it.


  5. Check the results.

    Check that the path to the keyfile is correct.


    At this point, you have created a public/private key pair.

  6. Choose the appropriate option:

    • If your administrator has configuredhost-based authentication, you might need to copy the local host's publickey to the remote host.

      You can now log in to the remote host.For details, see How to Log In to a Remote Host With Solaris Secure Shell.

      1. Type the command on one line with no backslash.

        Here we are going to introduce the latest completely working CALL OF DUTY:GHOSTS keygen and crack both which allows you to play game completely free. Call of duty ghost cd key generator.


      2. When you are prompted, supply your login password.


    • If your site uses user authentication with public keys, populateyour authorized_keys file on the remote host.

      1. Copy your public key to the remote host.

        Type thecommand on one line with no backslash.


      2. When you are prompted, supply your login password.

        Whenthe file is copied, the message “Key copied” is displayed. Dreamspark.


  7. (Optional) Reduce the prompting for passphrases.

    For a procedure, see How to Reduce Password Prompts in Solaris Secure Shell. For more information, see the ssh-agent(1) and ssh-add(1) man pages.

Example 19–2 Establishing a v1 RSA Key for a User

In the following example, the user cancontact hosts that run v1 of the Solaris Secure Shell protocol. To be authenticated by v1hosts, the user creates a v1 key, then copies the public key portion to theremote host.