What Is SSH And Do I Need It?
You know one thing about learning about the internet is that everything just seems so complicated especially when your just trying to understand what one thing is and how they relate to each other. The more I read up on the internet and it seems so difficult to understand. I feel like its necessary to break this information down so simple that a kid can understand.
Honestly I don’t believe this stuff is hard its just really learning a new vocabulary and then finding out how they relate to each other. When I made it my mission to learn front end web development I also made it my goal to learn what the internet really is and how it works.
I mean think about it. If your a web developer isn’t it your job to really understand what it is, how it works and, how you can contribute for it. Have you ever built something and did not know what the project was for? I know for me if I have a better understanding of what I’m building for and what my skills does to add to the project. I believe I have a much easier time integrating an application.
Ok now that I expressed my conundrum about all the complexities of the internet and really its weirdness lol, I’m going to break down what SSH is and how it can be significant for web developers or your every day user. I said all that before because as I began researching about the topic it seemed like they made it difficult to comprehend so I am going to do my best to define this term and how you can use it, or not, your choice. So let’s get into it shall we?
What Is SSH
Before we really get into the nitty gritty I just want to make a disclaimer. In this post I’m really going to go almost the dummy approach. I like to refer to it as the kid friendly approach.
What this means is that I will be defining a lot of terms that may be thrown around when defining main topics, as if the reader knows what that is, and how it refers to the subject at hand. No sir, or ma’am, not this Wong. I will address something I don’t know to have a better concept and hopefully this will help others as well as they read.
So what does SSH stand for. Well SSH is short for Secure Socket Shell. I think its safe to say when you encounter an acronym (a fancy word for an abbreviation) one of the s’s would stand for security in some capacity. I’ll put my $5 dollars on that.
So a SSH or Secure Socket Shell, can be defined as a network protocol that provides administrators (managers) a “secure” way to access a remote computer.
Are you ready, because I’m bout to break this down further even though it may seem simple enough as it is already to some, but I would like to be thorough and discuss how it can benefit you as a developer.
So let’s first begin with the term protocol.
Don’t let big or fancy words trip you up, I know it does for me sometimes but what this means is it is a standard set of rules and policies of how two different end points connect and communicate to each other over a network.
A network simply is a group or system of how things are connected together. Simple enough right?
It’s funny because as I hear the term now I think of someone asking me “what’s the standard protocol for this situation”. What I hear when that is said translates to what is the standard procedure for how this thing should operate.
Therefore when an admin is trying to access another computer remotely over a network a SSH helps to encrypt that data over the network protocol in order that your data and privacy is protected.
Whoo that’s a mouthful, but with this definition and understanding another question comes to mind. What is the difference between a SSH and an SSL? Are they even related to each other?
What’s The Difference
Are they related? In short, yes, but they are more like cousins. They both have similar features when it comes to protection. Yet, what is happening behind the scenes is when data is being transferred through the protocol the data is being encrypted so you as a user will be protected from any cyber attacks or hackings (lol hackings).
So what’s the difference? Well first there are two different protocols in play here– an SSL works over an http which stands for hyper text transfer protocol which is transferring (retrieving and sending) data from your computer to a server. An SSL creates a security layer through this transfer.
An SSH creates a layer of protection as data is being sent from one network to a remote computer. So in other words the connection to transfer data through the network protocol is from one local computer to another, because your trying to access information from another computer remotely.
There is a great article by Alex Sanborn on medium.com that gives a great explanation of how this happens in the background for the popular open source platform developers use Github.
Did I mention that using SSH is used because gaining access to a computer remotely occurs through the command line. You know that black screen that pops up with just the blinking cursor. That reminds me of some ultimate hacker type stuff lol.
So the real question to ask is do you need an SSH?
Well I think this all boils down to your role and your position of what you will be accomplishing. Since SSH is more for communicating and accessing remote computers and servers this would fall into the category of more backend developers who deal with administering (again managing) servers and databases as a front end web developer I would recommend you getting a SSL before a SSH since as a front end web developer your dealing with more of HTTP requests. So why not make your site secure especially if your looking to expand your site to accept payments and users login credentials.
You can read up more on this topic in my other post on SSL.
I think that about covers it all. The definition of SSH and how it relates to you and if you necessarily need it. I hope this made sense and I’m always looking for more insight on insight of the world wide web so if there maybe something I might have missed please let me know because my goal is only to get better and share what I know.