Steps

1. Generate a new key pair.

In you laptop/pc open up the terminal, the type :

ssh-keygen -t ed25519 -C "comment"

This will generate a key pair, a private one and a publc one. The file name you put with .pub is the public key. It will ask for a file name and a passphrase and other stuff. Setup accordingly.

2. Copy the public key to the remote server.

cat ~/.ssh/key.pub | ssh username@192.168.1.69 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Change the path and other stuff accordingly.

If this gives an error, which it might if you are using windows powershell, use this :

Get-Content $env:USERPROFILE\\.ssh\\key.pub | ssh username@192.168.1.69 "cat >> .ssh/authorized_keys"

This will copy your key.pub file from /.ssh/ and append it to the ~/.ssh/authorized_keys. Change the path accordingly.

3. Login using ssh key.

Run :

ssh username@192.168.1.69

OR :

ssh -i ".ssh/key" username@192.168.1.69

The key is the "filename", provide path/to/file if needed. If it doesn’t asked for password and let you right in, that means it worked.