-: SSH or Secure Shell is
another protocol that we often use
to tunnel other protocols through.
Secure Shell is a protocol
that we can create a secure channel
between two computers or network devices
and this allows one device
to actually take control over another device.
So if I wanted to connect my laptop to a server
so that I can do remote execution of commands
as a system administrator,
I would use Secure Shell to do that.
Basically, Secure Shell was designed
as a replacement for Telnet
because Telnet, we've already said, is bad.
Telnet sends everything in the clear and unencrypted.
SSH on the other-hand, allows us to have
this nice encrypted tunnel that protects our data.
SSH was originally used in Unix and Linux,
but now, you're finding it in Windows as well.
It is very heavily used
as a text based remote control method
for anything that you need to be able to get into
and do remote control of.
Things like routers and switches,
you Telnet into them
to get to their command-line
and be able to set up commands.
Same thing you can do that for a Windows server
or to a Linux or a Unix server.
SSH is going to require that you have two things.
You have to have a server which is known as a daemon
that can be run on once device
and then you have a client on the second device.
So on my laptop, I have an SSH client
and I connect in to the server daemon that I can then
take control of that server
and do what I need to do with it.
Now, when we talk about SSH,
it operates over port 22.
And you may remember that from our
ports and protocol lesson.
Now, we also talked about the fact
that secure copy and secure FTP
also operate over port 22.
Now why is that?
Well, it's because secure copy and secure FTP or SFTP
both operate in an SSH tunnel to be able to operate
and that's what gives them their security.
Another great thing about SSH
is that you can use public key cryptography
to secure its connections.
So just like we created a TLS tunnel,
we can do the same thing but using SSH.
Now when we talk about SSH,
there's a couple of versions of it.
There was version 1, version 1.5 and then version 2
are the three big ones out there.
The earlier versions, version 1 and 1.5,
had issues with unauthorized insertion of content,
improper forwarding of those
secure connections to other servers
and integer overflow issues.
But all of that was fixed thankfully,
in SSH version 2.
Version 2 also added Diffie-Hellman
for secure key exchanges and the use of MACs,
which are Message Authentication Codes
and this provides us integrity checking of the data
as it's being transferred over the network.
This makes SSH a great tool for us
and something that we heavily, heavily use
as security administrators and network administrators.
(electronic crackling)