Skip to content
This repository was archived by the owner on Mar 1, 2021. It is now read-only.

Commit 60049f7

Browse files
author
James Lemin
committed
markdown linting, typos and copyright updated
1 parent 334517c commit 60049f7

31 files changed

+292
-206
lines changed

00-AWS-Free-Tier.md

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
# Day 0 - Creating Your Own Server - with AWS Free Tier
22

33
## INTRO
4+
45
First, you need a server. You can't really learn about administering a remote Linux server without having one of your own - so today we're going get one - completely free!
56

67
Through the magic of Linux and virtualization, it's now possible to get a small Internet server setup almost instantly - and at very low cost. Technically, what you'll be doing is creating and renting a VPS ("Virtual Private Server"). In a datacentre somewhere, a single physical server running Linux will be split into a dozen or more Virtual servers, using the KVM (Kernel-based Virtual Machine) feature that's been part of Linux since early 2007.
78

8-
In addition to a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
9-
10-
These instructions will walk you through using Amazon's AWS "Free Tier" (http://aws.amazon.com) as your VPS hosting provider. They are rated highly, with a very simple and slick interface. Although we'll be using the Free Tier, be warned that you will need to provide valid credit card information. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
9+
In addition to a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
10+
11+
These instructions will walk you through using Amazon's AWS "Free Tier" (<http://aws.amazon.com>) as your VPS hosting provider. They are rated highly, with a very simple and slick interface. Although we'll be using the Free Tier, be warned that you will need to provide valid credit card information. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
1112

1213
## Signing up with AWS
13-
Signup is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication.
14+
15+
Sign-up is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication.
1416
You will need to also provide your VISA or other credit card information.
17+
1518
* For Support Plan, choose "Basic Plan/Free"
1619

1720
Logout, then login again, and then select:
21+
1822
* Services - from the top menu
1923
* EC2 - from the list of services
2024

@@ -36,9 +40,9 @@ Your server instance should now launch, and you can login to it by:
3640

3741
## Remote access via SSH
3842

39-
You should see an "IPv4" entry for your server, this is its unique Internet IP address, and is how you'll connect to it via SSH (the Secure Shell protocol) - something we'll be covering in the first lesson.
43+
You should see an "IPv4" entry for your server, this is its unique Internet IP address, and is how you'll connect to it via SSH (the Secure Shell protocol) - something we'll be covering in the first lesson.
4044

41-
This video, "How to Set Up AWS EC2 and Connect to Linux Instance with PuTTY" (https://www.youtube.com/watch?v=kARWT4ETcCs), gives a good overview of the process.
45+
This video, "How to Set Up AWS EC2 and Connect to Linux Instance with PuTTY" (<https://www.youtube.com/watch?v=kARWT4ETcCs>), gives a good overview of the process.
4246

4347
You will be logging in as the user *ubuntu*. It has been added to the 'adm' and 'sudo' groups, which on an Ubuntu system gives it access to read various logs - and to "become root" as required via the _sudo_ command.
4448

@@ -61,6 +65,7 @@ To logout, type _logout_ or _exit_.
6165
Your server is now all set up and ready for the course!
6266

6367
Note that:
68+
6469
* This server is now running, and completely exposed to the whole of the Internet
6570
* You alone are responsible for managing it
6671
* You have just installed the latest updates, so it should be secure for now

00-Azure-Free-Tier.md

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
11
# Day 0 - Creating Your Own Server - with Azure Free Credits
22

33
## INTRO
4-
First, you need a server. You can't really learn about administering a remote Linux server without having a one of your own - so today we're going get one - completly free!
4+
5+
First, you need a server. You can't really learn about administering a remote Linux server without having a one of your own - so today we're going get one - completely free!
56

67
Through the magic of Linux and virtualisation, it's now possible to get a small Internet server setup almost instantly - and at very low cost. Technically, what you'll be doing is creating and renting a VPS ("Virtual Private Server"). In a datacentre somewhere a single physical server running Linux will be split into a dozen or more Virtual servers using the KVM (Kernel-based Virtual Machine) feature that's been part of Linux since early 2007.
78

8-
As well as a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
9-
10-
These instructions will walk you through using Azure's free credits
9+
As well as a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
10+
11+
These instructions will walk you through using Azure's free credits.
1112

1213
## Signing up with Azure
13-
Signup is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication. Azure can be a bit funny about 'corporate' email addresses, eg using a work address or your own domain. Create a new @outlook or @gmail.com account if so using the link on the signup page.
14+
15+
Sign-up is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication. Azure can be a bit funny about 'corporate' email addresses, eg using a work address or your own domain. Create a new @outlook or @gmail.com account if so using the link on the sign-up page.
1416
You will need to also provide your VISA or other credit card information.
1517

1618
- Click 'start building in azure'
1719
- Click 'Deploy a virtual machine'
1820
- Click 'Create a linux virtual machine'
1921
- Search and select Ubuntu Server 20.04 LTS
2022
- Use the Standard _D2s_v3 size - this should be comfortably covered by your trial credits for the duration of the course
21-
- Ensure 'SSH Public Key' for authentication and 'generate new key pair' for SSH Public Key source are selected
23+
- Ensure 'SSH Public Key' for authentication and 'generate new key pair' for SSH Public Key source are selected
2224
- Leave 'allow selected ports' as 'ssh (22)' for now
2325
- Click 'Review + Create'
2426
- Azure will generate and download the private key file to SSH onto the box -
2527
- (Windows) double-click this to open on Windows and it will be added to your cert store on the machine
2628
- (Mac OS X and Linux) run the command 'sudo ssh-add -K /link-to-downloaded-file'
27-
- Connect to the machine using 'ssh azureuser@PUBLICIP'
29+
- Connect to the machine using `ssh azureuser@PUBLICIP`
2830

2931
Now to fully expose the machine and all ports to the internet:
3032

31-
- Navigate to https://portal.azure.com/#home
32-
- Select 'Virtual Machines'
33+
- Navigate to <https://portal.azure.com/#home>
34+
- Select 'Virtual Machines'
3335
- Select your created virtual machine and select 'Networking' from the settings pane
3436
- Click 'Inbound Port Rules' and 'Add inbound port rule'
3537
- Set 'source port ranges' and 'destination port ranges' to '*' and set 'Source' and 'Destination' to 'any'. Ensure protocol is set to 'any' and action is set to 'allow'. Set the priority to '100' and create an appropriate name
@@ -63,6 +65,7 @@ To logout, type _logout_ or _exit_.
6365
Your server is now all set up and ready for the course!
6466

6567
Note that:
68+
6669
* This server is now running, and completely exposed to the whole of the Internet
6770
* You alone are responsible for managing it
6871
* You have just installed the latest updates, so it should be secure for now

00-Digital-Ocean.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ First, you need a server. You can't really learn about administering a remote Li
66

77
Through the magic of Linux and virtualization, it's now possible to get a small Internet server setup almost instantly - and at very low cost. Technically, what you'll be doing is creating and renting a VPS ("Virtual Private Server"). In a datacentre somewhere, a single physical server running Linux will be split into a dozen or more Virtual servers, using the KVM (Kernel-based Virtual Machine) feature that's been part of Linux since early 2007.
88

9-
In addition to a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
10-
11-
These instructions will walk you through using Digital Ocean (http://digitalocean.com) as your VPS hosting provider. They are rated highly, with a very simple and slick interface - and low cost of $5 (USD) per month for the minimal server that you'll be creating. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
9+
In addition to a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
10+
11+
These instructions will walk you through using Digital Ocean (<http://digitalocean.com>) as your VPS hosting provider. They are rated highly, with a very simple and slick interface - and low cost of $5 (USD) per month for the minimal server that you'll be creating. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
1212

1313
## Signing up with Digital Ocean
1414

15-
Signup is immediate - just provide your email address and a password of your choosing and you're in!
15+
Sign-up is immediate - just provide your email address and a password of your choosing and you're in!
1616

1717
* Choose "Manage, Droplets" from the left-hand sidebar. (a "droplet" is Digital Ocean's cute name for a server!)
1818
* Select the image "Ubuntu 20.04 LTS"
@@ -27,7 +27,7 @@ Signup is immediate - just provide your email address and a password of your cho
2727

2828
## Logging in for the first time
2929

30-
Select your droplet and "Access" from the left-hand sidebar and you should be able to login to the console using this. Use the login name "root", and the password you selected. Note that the password won't show as you type or paste it.
30+
Select your droplet and "Access" from the left-hand sidebar and you should be able to login to the console using this. Use the login name "root", and the password you selected. Note that the password won't show as you type or paste it.
3131

3232
## Creating a working admin account
3333

@@ -39,7 +39,7 @@ We want to follow the Best Practice of not logging as "root" remotely, so we'll
3939

4040
`usermod -a -G sudo snori74`
4141

42-
(Of course, replace 'snori74' with your name!)
42+
(Of course, replace 'snori74' with your name!)
4343

4444
*This* will be the account that you use to login and work with your server. It has been added to the 'adm' and 'sudo' groups, which on an Ubuntu system gives it access to read various logs and to "become root" as required via the _sudo_ command.
4545

@@ -62,19 +62,19 @@ Don't worry too much about the output and messages from these commands, but it s
6262
With our new working user able to perform all sysadmin tasks, there is no reason for us to login user *root*. Our server is exposed to all the internet, and we can expect continuous attempts to login from malicious bots - most of which will be attempting to login as *root*. While we did set a very secure password just before, it would be nice to know that remote login as *root* is actually *impossible* - and it's possible to do that with this command:
6363

6464
`sudo usermod -p "!" root`
65-
66-
This disables direct login access, while still allowing approved logged in users to "become root' as necessary - and is the normal default configuration of an Ubuntu system. (Digital Ocean's choice to enable "root" in their image is non-standard).
6765

66+
This disables direct login access, while still allowing approved logged in users to "become root' as necessary - and is the normal default configuration of an Ubuntu system. (Digital Ocean's choice to enable "root" in their image is non-standard).
6867

6968
To logout, type _logout_ or _exit_.
7069

7170
Your server is now all set up and ready for the course!
7271

7372
## Remote access via SSH
7473

75-
You should see an "IPv4" entry for your server, this is its unique Internet IP address, and is how you'll connect to it via SSH (the Secure Shell protocol) - something we'll be covering in the first lesson.
74+
You should see an "IPv4" entry for your server, this is its unique Internet IP address, and is how you'll connect to it via SSH (the Secure Shell protocol) - something we'll be covering in the first lesson.
7675

7776
Note that:
77+
7878
* This server is now running, and completely exposed to the whole of the Internet
7979
* You alone are responsible for managing it
8080
* You have just installed the latest updates, so it should be secure for now

00-Google-Cloud.md

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
# Day 0 - Creating Your Own Server - with Google Cloud Platform Free Tier
22

3-
_(DRAFT: Use this as a guide, but it has not been fully tested. Please let us know of any issues with it)_
3+
_(DRAFT: Use this as a guide, but it has not been fully tested. Please let us know of any issues with it)_
44

55
## INTRO
6-
First, you need a server. You can't really learn about administering a remote Linux server without having a one of your own - so today we're going get one - completly free!
76

8-
Through the magic of Linux and virtualisation, it's now possible to get a small Internet server setup almost instantly - and at very low cost. Technically, what you'll be doing is creating and renting a VPS ("Virtual Private Server"). In a datacentre somewhere a single physical server running Linux will be split into a dozen or more Virtual servers using the KVM (Kernel-based Virtual Machine) feature that's been part of Linux since early 2007.
7+
First, you need a server. You can't really learn about administering a remote Linux server without having a one of your own - so today we're going get one - completely free!
98

10-
As well as a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
11-
12-
These instruction will walk you through using Google Cloud "Free Tier" (https://cloud.google.com) as your VPS hosting provider. They are rated highly, with a very simple and slick interface. Although we'll be using the Free Tier, be warned that you will need to provide valid credit card information. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
9+
Through the magic of Linux and virtualisation, it's now possible to get a small Internet server setup almost instantly - and at very low cost. Technically, what you'll be doing is creating and renting a VPS ("Virtual Private Server"). In a datacentre somewhere a single physical server running Linux will be split into a dozen or more Virtual servers using the KVM (Kernel-based Virtual Machine) feature that's been part of Linux since early 2007.
10+
11+
As well as a hosting provider, we also need to choose which "flavour" of Linux to install on our server. If you're new to Linux then the range of "distributions" available can be confusing - but the latest LTS ("Long Term Support") version of Ubuntu Server is a popular choice, and what you'll need for this course.
12+
13+
These instruction will walk you through using Google Cloud "Free Tier" (<https://cloud.google.com>) as your VPS hosting provider. They are rated highly, with a very simple and slick interface. Although we'll be using the Free Tier, be warned that you will need to provide valid credit card information. (Of course, if you have a strong reason to use another provider, then by all means do so, but be sure to choose Ubuntu Server 20.04)
1314

1415
## Signing up with GCP
15-
Signup is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication.
16+
17+
Sign-up is fairly simple - just provide your email address and a password of your choosing - along with a phone number for a 2FA - a second method of authentication.
1618
You will need to also provide your VISA or other credit card information.
19+
1720
* Choose "Compute Engine" and click "VM Instances".
1821
* Create a new instance.
1922
* Select whichever regions you want.
@@ -31,19 +34,20 @@ Set "Source IP Ranges" to "0.0.0.0/0"
3134
Set "Protocols and Ports" to "Allow All"
3235
Create and repeat the steps by creating a new Firewall and setting "Direction of Traffic" to "Egress"
3336

34-
## Logging in for the first time.
37+
## Logging in for the first time
38+
3539
Select your instance and click "ssh" it will open a new window console. To access the root, type "sudo -i passwd" in the command line then set your own password. Log in by typing "su" and "password". Note that the password won't show as you type or paste it.
3640

3741
## Setting up SSH
38-
You can also refer to https://cloud.google.com/compute/docs/instances/connecting-advanced#thirdpartytools if you intend to access your server via third-party tools (e.g. Putty).
42+
43+
You can also refer to <https://cloud.google.com/compute/docs/instances/connecting-advanced#thirdpartytools> if you intend to access your server via third-party tools (e.g. Putty).
3944

4045
## You are now a sysadmin
4146

4247
Confirm that you can do administrative tasks by typing:
4348

4449
`sudo apt update`
4550

46-
4751
Then:
4852

4953
`sudo apt upgrade`
@@ -55,6 +59,7 @@ To logout, type _logout_ or _exit_.
5559
Your server is now all set up and ready for the course!
5660

5761
Note that:
62+
5863
* This server is now running, and completely exposed to the whole of the Internet
5964
* You alone are responsible for managing it
6065
* You have just installed the latest updates, so it should be secure for now

0 commit comments

Comments
 (0)