2.7 SSH keys

ssh is a quick way to log on and access the file system of your server. From the bash shell on WSL, I would use this command.

$ ssh jimmy@redmouse.xyz

The remote server will prompt you for the password. You can skip the password step by installing key-based SSH. ( Note:you will still be able to log on using a password on devices without a key pair).

Accept the default file location.

jimmy@WSLBASH:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jimmy/.ssh/id_rsa):

Leave the passphrase as blank - just push enter

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Your output should look something like this.
Now you have a private and public key saved in ~/.ssh/
Copy the public key to your server.

Your identification has been saved in /home/jimmy/.ssh/id_rsa. Your public key has been saved in /home/jimmy/.ssh/id_rsa.pub. The key fingerprint is: SHA256:j....lgOkE jimmy@WSLBASH The key's randomart image is: +---[RSA 2048]----+ | .=++..+ oE | ................... | + =| | = | +----[SHA256]-----+ jimmy@WSLBASH:~$

ssh-copy-id -i ~/.ssh/id_rsa.pub yourserver.com

Now you should be able to log in using ssh without having to enter a password. No password means you can start using other useful bash commands such as scp and rsync

. You can simplify ssh login by creating a configuration file

sudo nano ~/.ssh/config

Enter these commands for user jimmy

Host yourserver
HostName yourserver.com
Port 22
User jimmy
IdentityFile ~/.ssh/id_rsa

You can now ssh into your server with <

> ssh yourserver

Once you have this setup you can harden ssh by removing root login and preventing ssh login by password. This makes a ssh brute force attack much more difficult.

:

No comments:

Post a Comment

Introduction to Linux Command Line

SSH is the way you will connect to your Linux server. You will need to understand the basics of the Linux Command Line.