finished post, moved images but did so in wrong branch XD
@@ -181,7 +181,7 @@ This posts barely scratches the surface of what *NGINX* can do, I would
|
|||||||
highly recommend reading more into this great piece of software !!
|
highly recommend reading more into this great piece of software !!
|
||||||
|
|
||||||
My reverse proxy handling non existent traffic
|
My reverse proxy handling non existent traffic
|
||||||

|

|
||||||
|
|
||||||
Give it a few months and this blog will ...
|
Give it a few months and this blog will ...
|
||||||

|

|
||||||
|
|||||||
@@ -26,7 +26,7 @@ gain access. With further configuration of SSH we can make the service
|
|||||||
a lot more secure.
|
a lot more secure.
|
||||||
|
|
||||||
# **Configure SSH**
|
# **Configure SSH**
|
||||||

|

|
||||||
> **Famous last words:** Configuring SSH like many things in Linux is
|
> **Famous last words:** Configuring SSH like many things in Linux is
|
||||||
as simple as editing a few config files
|
as simple as editing a few config files
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ sudo vim /etc/ssh/sshd_config
|
|||||||
For a new user this might be daunting. Take your time and you will be
|
For a new user this might be daunting. Take your time and you will be
|
||||||
fine 😊
|
fine 😊
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Lines we want to modify**
|
**Lines we want to modify**
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ Subsystem sftp /usr/lib/openssh/sftp-server
|
|||||||
# PermitTTY no
|
# PermitTTY no
|
||||||
# ForceCommand cvs server
|
# ForceCommand cvs server
|
||||||
```
|
```
|
||||||

|

|
||||||
|
|
||||||
**Now lets explain what we just did**
|
**Now lets explain what we just did**
|
||||||
* **Protocol 2** - released in 2006, SSH2 introduced improved
|
* **Protocol 2** - released in 2006, SSH2 introduced improved
|
||||||
@@ -302,7 +302,7 @@ roll back the changes and troubleshoot.
|
|||||||
|
|
||||||
# **Success**
|
# **Success**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
# **Setting up** ***Fail2Ban***
|
# **Setting up** ***Fail2Ban***
|
||||||
_Fail2Ban_ is an intrusion prevention tool. Although we are slowing
|
_Fail2Ban_ is an intrusion prevention tool. Although we are slowing
|
||||||
@@ -394,7 +394,7 @@ refused.
|
|||||||
ssh test@host -p 2222
|
ssh test@host -p 2222
|
||||||
```
|
```
|
||||||
_Fail2Ban_ should do something along the lines of ...
|
_Fail2Ban_ should do something along the lines of ...
|
||||||

|

|
||||||
log back in as your normal user, remove the test user and restore the
|
log back in as your normal user, remove the test user and restore the
|
||||||
sshd config.
|
sshd config.
|
||||||
|
|
||||||
@@ -422,4 +422,4 @@ a remote host, re-configure the sshd config to lockdown authentication
|
|||||||
and last but not least install and configure Fail2Ban to block pesky
|
and last but not least install and configure Fail2Ban to block pesky
|
||||||
attackers.
|
attackers.
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -18,73 +18,85 @@ showtoc: true
|
|||||||
searchHidden: false
|
searchHidden: false
|
||||||
---
|
---
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
I say you need to learn _Linux_ because really there is no reason not
|
You need to learn _Linux_ because there is no reason not to. If you
|
||||||
to. If you are pursuing a career in IT then you will without a doubt
|
are pursuing a career in IT then you will without a doubt come across
|
||||||
come across _Linux_ and having even basic knowledge of _Linux_ will get
|
_Linux_ and having even basic knowledge is very helpful. Many people
|
||||||
you far simply because it is everywhere. Many people struggle with the
|
struggle with the OS simply because it's fundamentally different
|
||||||
OS simply because it's fundamentally different compared to the other
|
compared to the other operating systems, but with a bit of time you
|
||||||
operating systems but give it a bit of time, you will master the
|
can master the basics and unlock it's true power.
|
||||||
basics and understand how much control over the system it gives you.
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## **But Why**
|
## **But Why**
|
||||||
As mentioned before, there isn't reason not to. **Linux is everywhere**,
|
**Linux is everywhere**, from data centres to your smart toaster. So
|
||||||
from data centres to your phone. **Understanding how to use _Linux_ is
|
if you are interesting in anything IT related then it's a great asset
|
||||||
great if you in or looking at a career in IT** because not many people
|
to have.
|
||||||
-relatively speaking- know how to use it, it sets you apart from others.
|
|
||||||
**I also believe _Linux_ gives you a deeper understanding of how your
|
|
||||||
system works** at a lower level which can be great when it comes to
|
|
||||||
troubleshooting. I think the most important factor is that **Linux is
|
|
||||||
open source** and so you have the ability to look at the code you are
|
|
||||||
running and with this comes full customisability of the system.
|
|
||||||
|
|
||||||
If you consider yourself a power user then _Linux_ is the perfect
|
Linux is great for power users because it allows you to customise all
|
||||||
operating system due to the aforementioned customisability but also the
|
aspects of your workflow to make it yours. The amount of
|
||||||
command line. Many people are scared away from _Linux_ as they are
|
customisability is mind blowing and an endless rabbit hole which is
|
||||||
intimidated by the fact that they have to use the terminal, however if
|
awesome as there is always something you could implement to improve
|
||||||
you can overcome this "fear" then you have unlocked a great power and
|
your workflow.
|
||||||
from my experience will start finding GUI's cumbersome.
|
|
||||||
|
|
||||||
|
Another great aspect of the customisability is the crazy number of
|
||||||
|
options you can choose from to theme and tailor the Linux desktop
|
||||||
|
experience to your liking. For some great and inspiring examples
|
||||||
|
checkout [r/unixporn](https://www.reddit.com/r/unixporn/). This
|
||||||
|
is what drove me to switch to Linux and Arch specifically.
|
||||||
|
|
||||||
|
Linux is very Light weight (Depending on Distribution) and much
|
||||||
|
faster than competing operating systems simply because more often
|
||||||
|
than not the distributions of Linux are not filled with bloatware.
|
||||||
|
The most extreme examples of this are distros like Arch or something
|
||||||
|
like LFS (Linux From Scratch) where you get a completely bare bones
|
||||||
|
installation of Linux and are required to install everything from
|
||||||
|
Network Managers, to the Desktop Environment, although this can seem
|
||||||
|
pointless at the start as you use more and more distros you will find
|
||||||
|
things you like and don't on each and something like Arch allows you
|
||||||
|
to choose every bit of software that is installed and come up with
|
||||||
|
something completely custom. Plus then you can say `I use Arch BTW`
|
||||||
|
|
||||||
## **How can you start**
|
## **How can you start**
|
||||||
There are many ways you can start using _Linux_ and a lot of them don't
|
|
||||||
require you to use _Linux_ as your main operating system. You do need
|
|
||||||
to be committed to using Linux. Try not to fall back to Windows or
|
|
||||||
MacOS if you cant figure something out, **search for solutions.**
|
|
||||||
**Lastly try to get comfortable with the terminal.**
|
|
||||||
|
|
||||||
### **Install Linux as your main OS**
|
### **Install Linux as your main OS**
|
||||||
This is the **Full Send** option. This is a great option if you know
|
This is the full send option.
|
||||||
a move to Linux is something you want to commit to. I think this is the
|
|
||||||
best option as you have to start learning Linux to get things done so
|
|
||||||
you have incentive to keep going.
|
|
||||||
|
|
||||||
|
A great Distribution that I recommend is [Manjaro with KDE Plasma](https://manjaro.org/downloads/official/kde/)
|
||||||
**Choosing a distro is fun but a huge time investment, you will hear the
|
|
||||||
term `distro hopping` which is installing different distributions of
|
|
||||||
_Linux_ and with the number of distros out there this can be daunting
|
|
||||||
for new users. A great Distribution that I recommend is
|
|
||||||
[Manjaro with KDE Plasma](https://manjaro.org/downloads/official/kde/)
|
|
||||||
as it offers a heavily customisable desktop environment `KDE Plasma`
|
as it offers a heavily customisable desktop environment `KDE Plasma`
|
||||||
and Manjaro itself is a great as it is based on Arch Linux so it can
|
and Manjaro itself is a great as it's Arch based but does not require
|
||||||
leverage the power of the AUR (Arch User Repository)
|
you to start from step 0.
|
||||||
|
|
||||||
### ***MacOS*** **Terminal**
|
### ***MacOS*** **Terminal**
|
||||||
_MacOS_ is actually _UNIX_ based and so **if you have an _apple Mac/MacBook_
|
_MacOS_ is actually _UNIX_ based and so **if you have an _apple
|
||||||
all you need is to open the Terminal** application and start playing
|
Mac/MacBook_ all you need is the Terminal** application. I used this on
|
||||||
around. I used this option for a while on my work machine and it works
|
my work machine and it's a great alternative to the full send option.
|
||||||
great. You get the best of both worlds with this option so if you have
|
However I do not recommended this if you don't own one of these devices
|
||||||
a MacOS device then this is a solid option. Not recommended if you
|
already due to cost 💸
|
||||||
don't have one of these devices simply due to cost 💸
|
|
||||||
|
|
||||||
### ***Windows WSL***
|
### ***Windows WSL***
|
||||||
The _Windows Subsystem for Linux_ is another great option to get started
|
The _Windows Subsystem for Linux_ is another great option to get started
|
||||||
with _Linux_ as it installs the _Linux Kernel_ natively in windows and
|
with _Linux_, it installs the _Linux Kernel_ in windows and allows you
|
||||||
allows you to play around with a real _Linux_ environment, before doing
|
to play around in a real _Linux_ environment.
|
||||||
a full send on my main machine this is the option I used.
|
|
||||||
|
|
||||||
### **Virtual Machines**
|
### **Virtual Machines**
|
||||||
If there is a specific Distribution of _Linux_ you want to try without
|
If there is a specific Distribution of _Linux_ you want to try then
|
||||||
doing a Full Send then this is a great option however if you want to
|
this is a great option. However if you want to simply get to know
|
||||||
simply get to know the _Linux_ then choose the _MacOS_ terminal or _WSL_
|
_Linux_ then choose the _MacOS_ terminal or _WSL_ methods as they are
|
||||||
methods as they are a lot lighter.
|
a lot lighter on system resources
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
**Why are you still reading go and get stuck in with _Linux_ 💨**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
As with anything learning _Linux_ is a journey and will take time.
|
||||||
|
Enjoy the experience of learning it and uncovering it's hidden powers
|
||||||
|
because it is well worth it. I have linked some great resources for
|
||||||
|
other great Linux related content that helped me.
|
||||||
|
|
||||||
|
[DT youtube Channel](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg)
|
||||||
|
|
||||||
|
[r/unixporn](https://www.reddit.com/r/unixporn/)
|
||||||
|
|
||||||
|
[Arch Wiki](https://wiki.archlinux.org/) (Although specific to Arch
|
||||||
|
this is a great knowledge base, also useful for Manjaro as it's Arch based)
|
||||||
|
|||||||
|
After Width: | Height: | Size: 659 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 629 KiB |
|
After Width: | Height: | Size: 1015 KiB |
|
After Width: | Height: | Size: 478 KiB |
|
After Width: | Height: | Size: 777 KiB |
|
After Width: | Height: | Size: 469 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 915 KiB |
|
Before Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 726 KiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 13 MiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 4.1 MiB |