Overview of SSH Tunneling and configuration options

This is the fifth post in the series of the blog posts about Secure Shell aka SSH. You can find the series index here. In this blog post, we’ll discuss about SSH tunneling and how to configure and use the same.

SSH port forwarding or SSH tunneling, is a mechanism in SSH for tunneling application ports from the client machine to the server machine or vice versa. It can be used for variety of purpose such as adding encryption to legacy applications, bypassing firewalls, opening backdoors into internal networks, etc. It is a double edged sword. It can be useful at the times but it can also be abused by hackers and malware to open access from the internet to the internal network.

Read More »

Customize SSH using Client side configuration options

This is the fourth blog post in the series of blog posts on the Secure Shell aka SSH. You can find the series index here. In the last post, we discussed how to customize SSH uing the server side configuration options. We discussed some of the most popular options and also shared location for list of full options available. In this blog post, we’ll discuss how we can customize the SSH session using some of the popular client side configuration options. Using these options can shape the way the connection is established and connection experience for the ssh clients.

Read More »

Customize SSH using server side configuration options

This is the third blog post in the series of blog posts on the Secure Shell aka SSH. You can find index here. In the last post, we discussed how to copy ssh public key to the remote server and then discussed few local options to create and customize ssh sessions. We also discussed about the usage of ssh-agent. In this blog post, we’ll discuss how we can customize the SSH session using some of the popular server side configuration options. Using these options can shape the way the connection is established and connection experience for the ssh clients.

Read More »

Basics of SSH, Generate SSH Key pairs and Establish SSH connections – Part 2

This is the second post in a series of blog posts on SSH. You can find the series index here. In the last blog post, we had overview of SSH protocol and how SSH authentication works. Then we discussed how to generate an SSH Key pair. As we discussed previously, we need to copy the SSH public key to the remote server and few other connection options. In this blog post, we are going to discuss the same.

Copying SSH Keys to the remote server

There are many ways to copy the public key generated to the remote machine. Below are some of the ways to copy the key.

Read More »

Basics of SSH, Generate SSH Key pairs and Establish SSH connections – Part 1

In a world full of Linux servers, containers and clients, SSH is one of the most used and most less understood protocols. Newer services such as related to container tooling, SSH over SSL have further abstracted away this protocol. But nevertheless, SSH continues to remain the primary means of establish connections with linux based operating systems and perform routine system administration and management related tasks. It also continues to be base of other important protocols / services such as SFTP, SSH tunneling, Virtual Private Network etc. This blog is first in series of blog posts about SSH or secure shell protocol, where we’ll discuss most of the things one should know about SSH. You can find the series index here.

Read More »

Mount a Windows NTFS Disk in Linux

Almost all of the Windows OS disks use NTFS as a filesystem. It has been there since long time. However it is proprietary to Microsoft and is therefore not open sourced. By default, you’ll not be able to mount NTFS disk in the linux distributions like CentOS, RHEL etc. However it is possible to install a driver that allows us to do this so that we can read and write data to an NTFS disk.

In this blog post, we’ll see how to do the same. For the demo purpose we’ll be mounting a NTFS disk, inside CentOS.
Read More »

Install Jenkins in offline mode on CentOS / RHEL

There are times when you would need to do an offline installation of the Jenkins. This may be to meet certain requirements of the workplace that you are operating in. I came across this issue some time back and internet is woefully out of articles for proper steps on this one. In this blog post, we’ll learn how to do an offline installation of Jenkins.

Install OpenJDK Java

First, we need to check what version of java is installed on the machine using:
Read More »

Use OpenSSL to work with SSL Certificates, CSR and Private Keys

OpenSSL is a robust, commercial-grade, and full-featured toolkit on the Linux that can be used for a large variety of tasks related to Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general purpose cryptography library. It is licensed under an Apache-style license, which basically means that you are free to get and use it for commercial and non-commercial purposes subject to some simple license conditions.

It is already installed out of the box on the most linux distributions or available in the trusted package repositories. OpenSSL has been kind of standard in the open source domain to work with SSL and TLS protocols. If for some reason, it is not already installed, you can install it by using your distribution specific commands.

Read More »