Ubuntu is quickly becoming a favorite among newcomers to GNU/Linux, and rightfully so- Canonical LTD. (the organization in charge of releasing Ubuntu) along with many, many volunteers have put a lot of work into making GNU/Linux accessible to people who may not be familiar with it.
GNU/Linux distributions (and other Unix-like operating systems) have a reputation, however; mostly that they’re hard to learn. Some of the older crowd may recall using MS-DOS commands as a necessary component to using their home PC.
With the growing popularity of PowerShell, however, administrators and power users alike are starting to re-discover just how powerful and flexible a command-line interface can be. GNU/Linux does certainly have “windowing systems” and various other GUIs (Graphical User Interface) available if pointing and clicking is more your style, but there is a lot you’re missing out on! If you’ve used MS-DOS commands or PowerShell then this should start to look like very familiar territory.
First, the default shell for most GNU/Linux distributions is BASH. Ubuntu uses this shell as well for the interactive user shell. Not sure what this means? Don’t worry- it’s not terribly important.
The important thing to remember is the shell is the connection between the user and the software. We can go into various shell commands in future articles, but I highly recommend any newcomer to system administration of Linux to purchase and keep handy the UNIX and Linux System Administration Handbook (4th Edition) by Evi Nemeth et. al. It will get you not only acquainted with various basic commands but also does a fantastic job of bringing you deeper and deeper into managing various *nix systems and understanding the internals of them.
SSH, Secure SHell, is something called a daemon (a software that runs persistently on a server, even with nobody using it, that listens for connections and then runs a task or program using these connections). It listens on port 22/TCP by default (this can be changed) and provides a very secure connection for someone off-site to connect remotely to the shell of the server. It’s sort of like a text-mode Remote Desktop. This allows you to manage one, several, or many machines remotely- as long as you and the server are able to connect over the Internet (or a local network, VPN, etc.), then you’re able to log into the machine and manage it.
Now, if you’re already using a Mac OS X or *nix desktop/laptop, you’re in luck- you already have an SSH client built-in!
Let’s say, for example, your server’s IP is 18.104.22.168:
Mac OS X:
If you’re using Windows, there’s a bit more work involved.
And congratulations! You should now be sitting at a prompt that looks a little like this:
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-43-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Tue Aug 27 18:46:29 UTC 2013 System load: 0.0 Users logged in: 0 Usage of /: 13.0% of 14.76GB IP address for eth0: 22.214.171.124 Memory usage: 6% IP address for eth0:1: X.X.X.X Swap usage: 0% IP address for eth1: 10.X.X.X Processes: 76 Graph this data and manage this system at https://landscape.canonical.com/ Last login: Tue Aug 27 17:25:02 2013 from central.asmallorange.com root@server:~#
Stay tuned for the second installment in this series next week!