# Other Computers

Log in to another computer, copy to it, run commands on it, and check the network between you. Practiced against the learner's own computer (`ssh localhost`) so nothing costs money; a cloud server is an optional extra, with its cost stated first.

Updated: November 10, 2026

## [Connecting](https://www.ask-codey.com/courses/bash-in-depth/topics/bash-connecting)

1. [Logging In to Another Computer: ssh](https://www.ask-codey.com/lessons/bash-ssh) (Journeyman): ssh user@host opens a shell on another computer right in your own terminal, asks the first time whether that computer is really the one you meant by showing its fingerprint, and exit brings you home; you can practice for free on your own computer with ssh localhost.
2. [SSH Keys and ~/.ssh/config](https://www.ask-codey.com/lessons/bash-ssh-keys) (Journeyman): An SSH key pair logs you in without a password: ssh-keygen makes a private key that stays on your computer and a public key you hand out, ssh-copy-id puts the public key on a server, and a Host block in ~/.ssh/config gives the server a short name.

## [Working Remotely](https://www.ask-codey.com/courses/bash-in-depth/topics/bash-working-remotely)

1. [Copying Between Computers: scp and rsync](https://www.ask-codey.com/lessons/bash-copying-between-computers) (Journeyman): scp copies a file or two to or from another computer, and rsync sends a whole folder but only what changed; both write the other computer's side as host:path, with a colon, and rsync -n rehearses first.
2. [Running Commands on Another Computer](https://www.ask-codey.com/lessons/bash-remote-commands) (Freelancer): ssh host 'command' runs one command on another computer and brings back its output and its exit code, the kind of quotes decides which computer fills in a $variable, and a short deploy script copies a site with rsync and checks it with ssh in one step.

## [The Network](https://www.ask-codey.com/courses/bash-in-depth/topics/bash-the-network)

1. [Is It the Network? ping, curl -I and Ports](https://www.ask-codey.com/lessons/bash-network-checks) (Journeyman): When a website or server doesn't answer, four quick checks find the broken link: ping asks whether the computer answers, curl -I whether the website does, ss or lsof which program is listening on a port, and dig which address a name points to.

## [Exercise: Deploy Over SSH](https://www.ask-codey.com/courses/bash-in-depth/topics/exercise-bash-deploy-over-ssh)

1. [Exercise: Deploy Over SSH](https://www.ask-codey.com/lessons/exercise-bash-deploy-over-ssh) (Freelancer): Give the book club's server a short name in an SSH config file, then write deploy.sh, one command that checks the site, copies it to the server with rsync over SSH, lists what's live with ssh and can rehearse first, and let a check script that needs no server tell you what's done.

Source: https://www.ask-codey.com/courses/bash-in-depth/chapters/bash-other-computers
