Ssh Generate Public Key Ubuntu

Jul 09, 2018  How to Add an SSH Public Key to GitHub from Ubuntu 18.04 LTS July 9, 2018 “How to Add an SSH Public Key to GitHub from an Ubuntu 18.04 LTS System” covers the entire process of creating an SSH key pair on an Ubuntu 18.04 LTS system and adding the public key to GitHub. Jun 22, 2012 The DigitalOcean control panel allows you to add public keys to your new Droplets when they’re created. You can generate the SSH Key in a convenient location, such as the computer, and then upload the public key to the SSH key section. Then, when you create a new Droplet, you can choose to include that public key on the server.

Main Page > Server Software > Linux > Ubuntu

This article shows how to configure a SSH connection for authentication by using the public-key method. To do this, a key pair is created at the client, the public part of the key is transferred to the server, and afterwards the server is set up for key authentication. The user can log on to the server without a login password, only the password is required to protect the private key.The operating systems used in this article are on the one hand a Ubuntu 12.10 at the client side and a Ubuntu 12.04 at the server side.This guide was also validated working with Ubuntu 16.04 as client and server.

  • 1On the client
  • 2On the server
  • 3Notes for other distributions

On the client

The first configuration steps take place at the client side.

Home folder rights

Ssh Generate Public Key Ubuntu

By default, Ubuntu sets the user home directory permissions to 755. Nevertheless, for security reasons, check whether the permissions are set to 755 on your system and change them if necessary:

:~$ sudo chmod 755 /home/<USER>

Generate keypair

In the first step, a key pair with ssh-keygen is created at the client. If you use Ubuntu 18.04 on the server, the package openssh-server will be installed in the version 7.6.[1] Since this version, RSA bit lengths smaller than 1024 bits are no longer accepted.[2] In this example, a bit length of 4096 bits is selected for the RSA keys:

Please note: It is recommended to protect the key with a passphrase for security reasons. This means that the key is not available in plain text, but is AES-CBC encrypted:

Ssh Generate Public Key Ubuntu 10

Ssh generate public key ubuntu windows 7

If the private key is stolen by an attacker, he has to find out the password of the key in order to access the server with the key. If the key is available in plain text, an attacker can use this stolen key to directly access the server.

Transfer the public key to the server

To transfer the public key to the server, the first step is to use the SSH connection via password authentication yet. The ssh-copy-id tool copies the corresponding identity file to the server:

The above-mentioned procedure has created the following entry in the /home/tktest/.ssh/authorized_keyson the server:

Test the key authentication

Now that the public key is transferred to the server, the connection can be tested from the client. In this case, it is important that the server does not ask for the user password, but of course the passphrase of the protected key is required!

The following dialog box appears for GUI-based systems:

After entering the password that protected the key when it was created, you are authenticated on the system:

On the server

This paragraph shows some additional configuration steps on the server side to harden the public-key authentication.

sshd configuration

In Ubuntu, it is generally sufficient to carry out the above-mentioned procedure for public-key authentication. In some situations it makes sense to deactivate password authentication completely.

Ssh

Please note: After changing the following setting, it is no longer possible to log in with a password via ssh: PasswordAuthentication no.

From the client, the connection is tested again:

In the above example, the dialog for entering the key password has been aborted. Since the log-on via password was deactivated, it was not possible to log-on to the system.

Forbid password authentication for just one user

Another way in which password authentication is not completely deactivated is to disable password authentication for specific users. This allows a user who does not have sudo privileges to log on to the server, for example. To gain root privileges, at least one additional password must be found for a user with sudo privileges. Plus, there's a way to completely exclude users from ssh:

This example:

  • Prohibits SSH access for the user test
  • Deactivates password authentication for the user tktest
  • Password authentication is retained for all other users

Notes for other distributions

For other Linux distributions, the required steps may differ slightly. We would be happy to supplement our experiences with other distributions, which you are welcome to share with us via the feedback function.

What Is Public Key

Red Hat

One reader told us that the procedure described Red Hat does not work 1:1 in Red Hat. In the home directory of the user, the write permission was set for the group. After a chmod 755 it worked to connect via ssh to the server without asking for a password.

References

Ssh Generate Public Key Ubuntu 10

  1. Package: openssh-server (1:7.6p1-4) (packages.ubuntu.com)
  2. OpenSSH 7.6 Release Notes (openssh.com)


Ssh Generate Key Ubuntu

Retrieved from 'https://www.thomas-krenn.com/en/wikiEN/index.php?title=SSH_public_key_authentication_under_Ubuntu&oldid=3714'