Shell and Script Environments – SY0-601 CompTIA Security+ : 4.1

There are many options when working with shells and scripting environments. In this video, you’ll learn about SSH, Windows PowerShell, Python, and OpenSSL.

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.