--- 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.