> For the complete documentation index, see [llms.txt](https://johnoraw.gitbook.io/iac-version-control/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://johnoraw.gitbook.io/iac-version-control/github/linux/using-ssh.md).

# Using SSH

Usernames and passwords are old fashioned and low security. It's much better to use SSH keys and logging on and off from Linux servers.

#### GITHUB

On my Linux server or IoT device, I create a unique SSH key.

```
ssh-keygen -t ed25519 -C "john.oraw@hotmail.com"
```

I check the \~/.ssh directory

<figure><img src="https://content.gitbook.com/content/C1tv1gDCmQOVxTprzQP4/blobs/CEOFkurtQuzyC0oUEIPf/image.png" alt=""><figcaption></figcaption></figure>

Did I make a mistake...you can see my public key?

Do you notice, I didn't show you my private key?

Think about it!

On GITHUB, I go to my personal profile and add the SSH key, with a meaningful name. I'm currently working on an IoT device called sonar1 running Raspbian OS. Eventually, this IoT device will control a [transducer](https://www.airmar.com/Product/SS510A) on a robotic vessel.

<figure><img src="https://content.gitbook.com/content/C1tv1gDCmQOVxTprzQP4/blobs/JYCaGDJGefYQcrfWd2Qx/image.png" alt=""><figcaption></figcaption></figure>

I check to see if everything is working.

<figure><img src="https://content.gitbook.com/content/C1tv1gDCmQOVxTprzQP4/blobs/cMXjsP6b6rhFF5fZvtSj/image.png" alt=""><figcaption></figcaption></figure>
