How to Copy an SSH Key to Your Server and Connect Without a Password

SSH secures communications between your local machine and remote systems by completely encrypting that traffic. However, entering a password every time you connect to a remote host can be a bit annoying.

Thankfully, you can bypass this step by enabling passwordless SSH login. We’ll show you how to use the ssh-copy-id command to do this.

How to use SSH without password

To enable passwordless login via SSH, all you need to do is copy your public key to the remote server. An SSH key is actually a pair of two keys: one public and one private. A remote SSH server will use these to authenticate your identity before you can connect.

You can easily generate your SSH key pairs using the ssh-keygen command. Once ssh has generated the key, copy your public key to the remote server. This will ensure that you do not need to type your SSH password on subsequent logins.

Generate public and private SSH keys

Keep pressing Enter at each prompt until the program completes and the key files are created.

Type the above command in your terminal and replace user and remote-host with your username and hostname/ip of the remote machine.

Connect to SSH Server Without Password

After adding the public key to the server via ssh-copy-id you are all set to log in without a password. You can test this for yourself using the following command.

Get rid of password using ssh-copy-id

Using ssh-copy-id, you can upload a public key to a remote server and connect without a password. However, you should not enable passwordless authentication for all systems. Instead, use it to access systems you use frequently. If you’re new to this, try learning how to set up SSH and configure your setup.

One of the most important ways to access Linux is via SSH. This remote access command line tool lets you do everything from installing software to configuring Linux as a web server. SSH can save time, make you more productive, and help you unlock the power of your Linux distro.

But how do you set up ssh on both the client and server side? Learn how to install and configure SSH software on both ends and remotely control your Linux computer.

What is ssh?

SSH stands for Secure Shell and allows you to remotely control a Linux computer or server from another device. It works over local area networks and the Internet, which means it can be used to manage Linux powered media servers in your home or Linux web servers on a different continent.

While SSH doesn’t give you access to the remote computer’s desktop environment, it does let you use the terminal. Once connected to the remote computer, you can use it as if it were right in front of you. Make sure to have root access.

Note that there are other remote access solutions available for Linux. For example, Ubuntu users can rely on the VNC-compatible remote desktop tool Remmina.

To use SSH, you need to make sure the remote computer (server) has SSH setup. Additionally, your local device (the client) will need to have the SSH app installed.

With your SSH client software installed, you are ready to establish a connection to your remote computer or server.

As a general rule for all desktop and mobile clients, all you need is an IP address or host name and the appropriate login details. While the appearance of the apps may differ, and port names may need to be entered manually, SSH clients are mostly indistinguishable.

Server-Side Installation and Configuration

Before establishing a connection, install the server-side software to host your SSH connection. This requires someone to be present to install or enable SSH. You may already be there to do this—otherwise, a coworker or support engineer will be setting up SSH on the server end.

Leave a Comment