A Linux machine is rarely on its own. Whether it's a laptop on Wi-Fi or a server in a data center, you'll need to know how it's connected, how to troubleshoot it when something breaks, and how to reach other machines securely. This module covers the everyday networking tools and the standard way to work remotely: SSH.
It starts with the basics of inspecting your network: ip,
ping, and traceroute to see your addresses and test
connectivity, then dig, nslookup, and
host to look at DNS. Next you'll see which ports and connections are
active on your system. From there you'll log in to remote machines with
SSH, set up key-based authentication so you can drop
passwords, and finish by copying files between machines with
rsync over SSH.
Only connect to machines you own or are authorized to access, and protect your private keys like passwords. When you're comfortable with networking and remote access, continue on to Shell Scripting.
Check your network interfaces and IP addresses with ip, test whether a host is reachable with ping, and follow the path packets take with traceroute.
See how domain names are turned into IP addresses, and query DNS records from the command line with dig, nslookup, and host.
Monitor active network connections, see which ports are listening, and troubleshoot connectivity issues with netstat (and its modern replacement, ss).
Log in to a remote Linux machine over the network with the OpenSSH client: connect with ssh user@host, accept host keys, and run commands remotely.
Replace passwords with public-key authentication: generate a key pair, install your public key on a server, and manage multiple keys for multiple machines.
Copy and synchronize files and directories locally or to a remote machine over SSH with rsync, and only transfer what has changed.