lk/networking/ssh.md
2023-09-27 02:18:40 +02:00

90 lines
1.5 KiB
Markdown

---
title: "ssh"
tags: [ "networking" ]
---
# Basic `ssh`
Try out basic ssh by accessing `git.charm.sh`, without needing authentication:
```bash
ssh git.charm.sh
```
Start an ssh server to try it out.
The ssh server is sometimes in a package called `openssh`, and sometimes only in `openssh-server`.
Once it's installed, check it's working:
```bash
sudo systemctl status ssh
```
If that doesn't work, the service may be called `sshd`.
```bash
sudo systemctl status sshd
```
Then start that service:
```bash
sudo systemctl start sshd
```
Test it works by using ssh into your own system, from inside:
```bash
ssh $USER@localhost
```
Access the computer from another computer on the same local network by finding your computer's IP address.
```bash
ip address | grep inet
```
Here is mine:
> inet 127.0.0.1/8 scope host lo
>
> inet6 ::1/128 scope host noprefixroute
>
> inet 192.168.0.12/24 brd 192.168.0.255 scope global dynamic noprefixroute en
The first one starts `127`, which means it returns back to that computer (like `localhost`).
The second is an ipv6 address, which is too angelic for this world, and has yet to ascend.
The third will work from a remote computer.
```bash
ssh $USERNAME@IP_ADDRESS
```
Once you have that, generate some ssh keys:
```bash
ssh-keygen
```
Look at your keys:
```bash
ls ~/.ssh
```
You can share the one ending in `.pub` freely.
The other is secret.
Now send those keys to a remote computer:
```bash
ssh-copy-id $USERNAME@IP_ADDRESS
```
Now you can log in without a password.