--- title: "OpenSSH" category: "Networking and remote access" tagline: "Log in to other machines securely, and let them log in to this one." source: "pacman" package: "openssh" command: "ssh" website: "https://www.openssh.com/" code: "https://github.com/openssh/openssh-portable" --- ## What it is OpenSSH is the standard implementation of SSH, the encrypted protocol for logging in to another computer's shell, running commands on it and copying files (`scp`, `sftp`). It includes the client, `ssh`, and the server, `sshd`, that accepts connections, plus tools for creating and managing keys. ``` ssh you@machine.local ``` ## Why it's here - **Remote shells.** Work on your other machines and servers from this one. - **Secure file transfer.** Copy files with `scp`, `sftp` or `rsync` over SSH. - **Tunnels.** Forward ports to reach services on another machine. ## On CoreDesktop OpenSSH is installed from pacman and `sshd.service` is enabled, so you can SSH into this computer. The firewall allows SSH on port 22, and Avahi advertises it on your LAN, so other machines can reach this one as `.local`. Commands run with `ssh machine command` can find tools in `~/.local/bin` and mise. For the client, CoreDesktop sets keepalives so a dropped connection is noticed within a minute (your `~/.ssh/config` still wins per host) and points `SSH_AUTH_SOCK` at Bitwarden's SSH agent. It also adds shell functions for port forwarding: `fip ...` forwards local ports to the same ports on a host, `dip ...` stops them, and `lip` lists them. `update` keeps OpenSSH current with the pacman packages.