Putty Generate Ssh Key Pem

To make a connection to a database more secure, some services require SSH or SSL usage.

SSL

Alternatively if you want to grab the private and public keys from a PuTTY formated key file you can use puttygen on.nix systems. For most apt-based systems puttygen is part of the putty-tools package. Outputting a private key from a PuTTY formated keyfile: $ puttygen keyfile.pem -O private-openssh -o avdev.pvk. For the public key.

The following procedure describes the SSL configuration that suits most databases. For some databases, you need to use another approach for a successful connection. You can see configuration examples for Cassandra and Heroku Postgres in the DataGrip documentation.

  • Create the SSH tunnel with Pageant (Windows) Pageant is an SSH authentication agent for PuTTY, PSCP, PSFTP, and Plink. Pageant stores your private key, and as long as it is running, it provides the unlocked private key to PuTTY or other tools like RubyMine. You can find the Pageant icon in the Windows taskbar.
  • You can convert your Putty private keys (.ppk) to base64 files for OpenSSH or OpenSSL. With puttygen on Linux/BSD/Unix-like. If you are using the unix cli tool, run the following command: puttygen my.ppk -O private-openssh -o my.key. You can also generate a public key for your SSH servers using one of the two following commands based on your.
Putty Generate Ssh Key Pem

Connect to a database with SSL

  1. In the Database tool window (View Tool Windows Database), click the Data Source Properties icon .

  2. Select a data source profile where you want to change connection settings.

  3. Click the SSH/SSL tab and select the Use SSL checkbox.

  4. In the CA file field, navigate to the CA certificate file (for example, mssql.pem).

  5. In the Client certificate file field, navigate to the client certificate file (for example, client-cert.pem).

  6. In the Client key file field, navigate to the client key file (for example, client-key.pem).

  7. From the Mode list, select the verification mode:

    • Require: verifies that the server accepts SSL connections for this IP address and recognizes the client certificate.

    • Verify CA: verifies the server by checking the certificate chain up to the root certificate that is stored on the client.

    • Full verification: verifies the server host to ensure that it matches the name stored in the server certificate. The SSL connection fails if the server certificate cannot be verified.

  8. To ensure that the connection to the data source is successful, click Test Connection.

It is recommended to use PEM certificates.

With self-signed certificates and in some cases with certificates issued by the trusted root entity, you might experience errors when you use the latest JDBC driver version. The SSL connection might fail if your Java keystore does not accept the certificate chains. As a temporary solution, try to downgrade the JDBC driver (for example, for the MySQL connector, you need to switch to the 5.1.40 version.)

Copy SSL settings from other data sources

If you configured SSL settings for one data source, you can copy them for another data source.

  1. In the Database tool window (View Tool Windows Database), click the Data Source Properties icon .

  2. Select a data source profile where you want to change connection settings.

  3. Click the SSH/SSL tab and select the Use SSL checkbox.

  4. Click the Copy from link and select the configuration that you want to copy.

SSH

Secure Shell or SSH is a network protocol that is used to encrypt a connection between a client and a server.

All created SSH connections are shared between all the data sources that you have in a project. If you do not want to share a connection between projects, select the Visible only for this project checkbox in the SSH connection settings.

Connect to a database with SSH

  1. In the Database tool window (View Tool Windows Database), click the Data Source Properties icon .

  2. Select a data source profile where you want to change connection settings.

  3. Click the SSH/SSL tab and select the Use SSH tunnel checkbox.

  4. Click the Add SSH configuration button ().

  5. In the SSH dialog, click the Add button.

  6. If you do not want to share the configuration between projects, select the Visible only for this project checkbox.

  7. In Host, User name, and Port fields, specify your connection details.

  8. From the Auth type list, you can select an authentication method:

    • Password: to access the host with a password. To save the password in RubyMine, select the Save password checkbox.

    • Key pair (OpenSSH or PuTTY): to use SSH authentication with a key pair. To apply this authentication method, you must have a private key on the client machine and a public key on the remote server. RubyMine supports private keys that are generated with the OpenSSH utility.

      Specify the path to the file where your private key is stored and type the passphrase (if any) in the corresponding fields. To have RubyMine remember the passphrase, select the Save passphrase checkbox.

    • OpenSSH config and authentication agent: to use SSH keys that are managed by a credentials helper application (for example, Pageant on Windows or ssh-agent on macOS and Linux).

  9. To ensure that the connection to the data source is successful, click Test Connection.

Generate Ssh Key Windows

See the Generating a new SSH key and adding it to the ssh-agent tutorial for details on working with SSH keys.

Create the SSH tunnel with PuTTY (Windows)

Putty Generate Ssh Key Pair

  1. Download and run the latest version of the PuTTY SSH and Telnet client (download the client from https://www.putty.org/).

  2. In the PuTTY Configuration dialog, navigate to Connection SSH Auth. Generate ssh key mac gitlab.

  3. In the Private key file for authentication field, specify the path to your private key file and click Open.

  4. In the command line window, specify the username that you use for the SSH tunnel and press Enter. Do not close the command line window.

  5. In the Database window (View Tool Windows Database), click the Data Source Properties icon on the toolbar.

  6. Select a data source profile where you want to change connection settings.

  7. Click the SSH/SSL tab and select the Use SSH tunnel checkbox.

  8. From the Auth type list, select OpenSSH config and authentication agent.

  9. In Proxy host, Proxy user, and Port fields, specify connection details.

  10. To ensure that the connection to the data source is successful, click Test Connection.

Create the SSH tunnel with Pageant (Windows)

Pageant is an SSH authentication agent for PuTTY, PSCP, PSFTP, and Plink. Pageant stores your private key, and as long as it is running, it provides the unlocked private key to PuTTY or other tools like RubyMine. You can find the Pageant icon in the Windows taskbar.

  1. Download the latest version of Pageant (download the client from https://www.putty.org/).

  2. In the Windows taskbar, right-click the Pageant icon and select Add Key.

  3. In the Select Private Key File dialog, navigate to the private key file (the PPK file) and click Open.

  4. (Optional) Enter the private key passphrase and press Enter.

  5. In the Database window (View Tool Windows Database), click the Data Source Properties icon on the toolbar.

  6. Select a data source profile where you want to change connection settings.

  7. Click the SSH/SSL tab and select the Use SSH tunnel checkbox.

  8. From the Auth type list, select OpenSSH config and authentication agent.

  9. In Proxy host, Proxy user, and Port fields, specify connection details.

  10. To ensure that the connection to the data source is successful, click Test Connection.

Create the SSH tunnel with the ssh-agent (macOS and Linux)

Run all commands for ssh-agent in the command line.

  1. Ensure that ssh-agent is running.

  2. Add your key to the agent (in the following example, the key path is ~/.ssh/id_rsa).

    ssh-add ~/.ssh/id_rsa
  3. (Optional) On macOS, you can add -K option to the ssh-add command to store passphrases in your keychain. On macOS Sierra and later, you need to create the config file in ~/.ssh/ with the following text:

    Host *UseKeychain yesAddKeysToAgent yesIdentityFile ~/.ssh/id_rsa

    If you have other private keys in the .ssh directory, add an IdentityFile line for each key. For example, if the second key has the id_ed25519 name, add IdentityFile ~/.ssh/id_ed25519 as an additional line for the second private key.

  4. List all added keys.

  5. In the Database window (View Tool Windows Database), click the Data Source Properties icon on the toolbar.

  6. Select a data source profile where you want to change connection settings.

  7. Click the SSH/SSL tab and select the Use SSH tunnel checkbox.

  8. From the Auth type list, select OpenSSH config and authentication agent.

  9. In Proxy host, Proxy user, and Port fields, specify connection details.

  10. To ensure that the connection to the data source is successful, click Test Connection.

Last modified: 16 April 2020