Book Image

Mastering Ubuntu Server

By : Jay LaCroix
Book Image

Mastering Ubuntu Server

By: Jay LaCroix

Overview of this book

Ubuntu is a Debian-based Linux operating system, and has various versions targeted at servers, desktops, phones, tablets and televisions. The Ubuntu Server Edition, also called Ubuntu Server, offers support for several common configurations, and also simplifies common Linux server deployment processes. With this book as their guide, readers will be able to configure and deploy Ubuntu Servers using Ubuntu Server 16.04, with all the skills necessary to manage real servers. The book begins with the concept of user management, group management, as well as file-system permissions. To manage your storage on Ubuntu Server systems, you will learn how to add and format storage and view disk usage. Later, you will also learn how to configure network interfaces, manage IP addresses, deploy Network Manager in order to connect to networks, and manage network interfaces. Furthermore, you will understand how to start and stop services so that you can manage running processes on Linux servers. The book will then demonstrate how to access and share files to or from Ubuntu Servers. You will learn how to create and manage databases using MariaDB and share web content with Apache. To virtualize hosts and applications, you will be shown how to set up KVM/Qemu and Docker and manage virtual machines with virt-manager. Lastly, you will explore best practices and troubleshooting techniques when working with Ubuntu Servers. By the end of the book, you will be an expert Ubuntu Server user well-versed in its advanced concepts.
Table of Contents (22 chapters)
Mastering Ubuntu Server
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Simplifying SSH connections with a ~/.ssh/config file


Before we leave the topic of SSH, there's another trick that benefits convenience, and that is the creation of a ~/.ssh/config file. This file doesn't exist by default, but if it's found, SSH will parse it and you'll be able to benefit from it.

The ~/.ssh/config file allows you to list servers that you connect to often, which can simplify the SSH command automatically. The following are example contents from a hypothetical ~/.ssh/config file that will help me illustrate what it does:

host myserver
    Hostname 192.168.1.23
    Port 22
    User jdoe

Host nagios
    Hostname nagios.local.lan
    Port 2222
    User nagiosuser

In the example contents, I have two hosts outlined, myserver and nagios. For each, I've identified a way to reach it by name or IP address (the Hostname line), as well as the Port and User account to use for the connection. If I use ssh to connect to either Host by the name I outlined in this file, it will use the values...