If you're connecting to a remote device
and using the terminal screen on that device,
looks a little like this example here,
then you're probably using the SSH or Secure Shell Command.
This provides for an encrypted communication channel
so you can put in your username, your password,
and perform any functions you would like in that terminal
screen and no one will be able to eavesdrop capture
that information, or somehow see what you're
doing across the network.
If you were using the older telnet command,
then you would be sending this information in the clear.
This is why if you're ever performing any type of terminal
communication across the network,
you would always use SSH so that all of your communication
would be encrypted.
If you're using a Windows machine at the command prompt,
then one of the more advanced shells available on that system
is the Windows PowerShell.
PowerShells commonly used by system administrators
on Windows devices to be able to control
almost every aspect of the Windows operating system.
Running a script inside a PowerShell usually has a .ps1
file extension, so that you can recognize that
that's a PowerShell script.
And if you're running Windows 8, Windows 8.1, or Windows 10
then PowerShell is already included and installed
inside of those particular operating system versions.
If you're using any of these functions inside of PowerShell,
then you're using something called a command-lets.
You can run scripts inside a PowerShell,
you can manipulate almost every aspect of the Windows operating
system, and you can even run certain scripts
in a standalone executable mode so that they can operate
as a standalone utility.
As the name implies, PowerShell is a remarkably powerful tool
for doing any type of administration
on a Windows operating system machine.
If you're a system administrator,
you're in charge of Active Directory at your company,
or you're responsible for applications
that are running inside of Windows,
you want to learn as much as you can about Windows PowerShell.
Another popular scripting language
that works across many different operating systems is Python.
Python files usually have a .py file extension,
so that we can easily recognize these as Python scripts.
Python is available in Linux, Mac OS, Windows,
and many other operating systems as well.
And it is well supported across the entire industry
primarily because it has such flexibility
and allows us to do so much inside of the operating system.
Although a primary emphasis of Python
is based around the automation and orchestration
of cloud-based systems, there are many other functions
of Python that are very useful for individual computers
as well, and the more you know about Python,
the more you'll be able to automate in all
of these operating systems.
Another tool that's not really a shell or a scripting language
but still has extensive use in our applications
and operating systems today, is OpenSSL.
OpenSSL is a library and a series
of utilities that allows us to manage SSL or TLS
certificates on our systems.
If you're building your own certificate authority
inside of your company, then you're
probably going to be creating X.509 certificates.
People will be sending you certificates signing requests,
or CSRs and you will have to manage certificate revocation
lists or CRLs and you can do all of that
using the utilities available in OpenSSL.
OpenSSL also has cryptographic libraries
to perform hashing functions for many different hashing
algorithms.
And you can also, of course, encrypt
and decrypt using the built-in functionality of OpenSSL.
If you're running a web server or you
have some type of certificate authority in your environment,
then you probably have OpenSSL installed on that system
to be able to facilitate those functions.