Networking and SSH
Learn how devices find and talk to each other on a network, then use SSH to sign in to a computer you own, copy files to it, reach its services through a tunnel, and lock it down.
What you will be able to do
By the end of this track you can:
- read an IP address and tell whether it is private, public or "this device";
- find your computer's address and see which programs are listening on which ports;
- tell from an error message whether a name, a port or a firewall is the problem;
- turn on an SSH server on Ubuntu or Windows, connect to it, and check that you reached the right machine;
- make an SSH key, install it on a server and take it away again;
- reach a service on another computer through an SSH tunnel without opening it to the network;
- set an SSH server to accept keys only, and undo the change if something goes wrong.
Who it is for
Students, testers, new developers and curious home users. You need no networking background. You should be comfortable typing a command in a terminal and pressing Enter.
For the lab you need a Linux computer of your own and either an Android phone or a second Linux computer.
The lessons
Read them in order. Each one builds on the one before.
How long it takes
Each lesson takes 15 to 25 minutes, including its quiz. The lab takes 45 to 60 minutes. Plan on about three hours in all, in as many sittings as you like.
Apps that use this knowledge
| App | What it does with the network | Guide |
|---|---|---|
| SecureShell Go | SSH terminal, SFTP files, host-key checks, keys and tunnels on Android and Linux | SecureShell Go |
| CrossShell | Turns on OpenSSH on Linux and Windows machines, pairs them and swaps keys | CrossShell |
| NearShare | Finds nearby devices with mDNS and sends files over your local network | NearShare |
| SysVitals | The Ports tab shows every listening port and the program behind it | Network connections and ports |
| Mock Studio | Serves mock APIs on your network, to emulators, and through public tunnels | Share on LAN or the internet |
| WinBridge | Drives a Windows virtual machine over SSH with a key of its own | Build Flutter apps on a Windows VM |
A word before you start
Everything in this track is meant for computers and networks you own, or that you have clear permission to use. Signing in to, scanning or tunnelling into someone else's machine without permission is wrong and, in many countries, a crime.
Next steps
- Start with Networks, addresses and ports
- Unfamiliar word? Try the glossary
- See all learning tracks