Category Archives: SSH Client

Private DNS Domains: Creating SSL Certs for Your Devices That Access Internal Servers (Updated November 23, 2023)

So in my last post, we went over creating the SSL cert creation for your internal web servers. It was a nice, wildcard cert that was able to be made once and installed on many making it easier on us. Now we’ll go over making the CA certs for Android and Windows clients that will do away with that annoying Chrome nag screen about security and whatnot when accessing them and instead appear as a nice and secure website to the browser!

Crafting the Simple Configuration for Android

It’s necessary for a simple configuration for Android to have the certificate to be a CA cert. So this part establishes the part where we define that for a later step in the process.

[ req ]
distinguished_name = req_distinguished_name
req_extensions     = req_ext
prompt             = no

[ req_distinguished_name ]
commonName = *.yourinternaldomain.local

[ req_ext ]
subjectAltName = @alt_names
basicConstraints=CA:TRUE

[alt_names]
DNS.1 = yourinternaldomain.local
DNS.2 = *.yourinternaldomain.local

Save it as openssl.cnf. So, this is basically exactly like the server cnf file except for one thing and that is the line where it says basicConstraints=CA:TRUE. That makes it so that you don’t get an error on importing it into Android and it will work correctly!

You do NOT need this cnf file for the Windows cert, just skip ahead!

Generating the Signing Key for Android/Windows

So, this is for both Android and Windows, it’s basically the same but with different extensions.

Android:

openssl genrsa -out privkey.pem 2048

Windows:

openssl genrsa -out privkey.key 2048

I use the different extensions here just to keep things straight in my head when working with creating these certificates because we create a .pem for Android and a .crt for Windows.

Creating the Certificate Signing Request for Android/Windows

Like in the server post is basically the same, just with a tweak to differentiate the Windows command signature some.

Android:

openssl req -new -key privkey.pem -out csr.pem -config openssl.cnf

Windows:

openssl req -new -key privkey.key -out cert.csr

So, on Android, you see that you reference the cnf file. Remember, if you are doing this on Windows, you must specify the complete DOS path to the cnf file in the command statement.

Generate the Certificate

So now we have that we can generate the two different types of certificates for Android and Windows.

Android:

openssl x509 -req -days 365 -in csr.pem -signkey privkey.pem -out cert.pem -extensions req_ext -extfile openssl.cnf

Windows:

openssl x509 -req -days 365 -in cert.csr -signkey privkey.key -out cert.crt
OR (Easier way, skip all the previous Windows steps and follow the Android steps and after generating the Android Cert just do this!)
openssl x509 -outform der -in cert.pem -out cert.crt

And there you go, certificates made, one last thing for those special devices that require attention.

Craft a Full Chain pem

Here’s how to create a quick Full Chain pem file.

cat cert.pem privkey.pem > fullchain.pem

Installing the Certs

On Windows, you want to install the cert into your Trusted Root Certificates store. I had to restart Chrome and refresh my servers (that were already running their brand new internal certs) to get the Good To Go widget in the address bar. I haven’t tested with Edge, but I assume being chromium-based it probably uses the Windows Certificate Store as well. No idea about Firefox, never had the urge to use it.

On Android 13, based on your specific device look up how to install a custom certificate on it and it should see cert.pem (which you should have emailed to yourself already) in your storage somewhere. I’ve read you’re supposed to be able to just tap the pem file and it will auto-install but that did not work on a Pixel or a Samsung device. I had to go into Settings and do it through the menu.

If you are on a Pixel that is running Android 14 like me then when you get the option from settings to select the cert, it will not show any pem files. I am not sure why, but I found a workaround. After you download it, open the Files app and delete it. Sounds crazy but stay with me. Then go into settings and go through the certificate settings to the point of picking the certificate. This should launch a Files-like window to select it, tap the 3 dots in the upper right and select Show Hidden Files. Then there you go, the deleted cert.pem file will be there and just tap it and it will be installed. Crazy I know but that worked on my Pixel 8 Pro.

That should be it for Android, just kill and relaunch Chrome and it should be like on your desktop and with no nag screen.

I generally hope this helps anyone who could use the help. I know it has reduced the years of numerous clicking and tapping to get passed the security alerts over the years.

John

Importance of a reliable Terminal Client

โ€In today’s digital world, having a reliable terminal client is crucial for developers, system administrators, and tech enthusiasts. A terminal client serves as a gateway to the command line interface, allowing users to execute commands and perform various tasks efficiently. Whether you’re managing servers, debugging code, or accessing remote systems, a good terminal client can make a world of difference in your productivity and workflow.

A reliable terminal client should have a user-friendly interface, powerful features, and seamless connectivity. It should offer a smooth and hassle-free experience, allowing users to focus on their tasks without any distractions or limitations. With the right terminal client, you can streamline your workflow, save time, and boost your overall efficiency.

Having a reliable terminal client is especially important for professionals who work in the command line environment on a daily basis. It provides them with the necessary tools and functionalities to carry out their tasks effectively. From managing files and directories to executing complex commands, a good terminal client can simplify these processes and enhance productivity.

In addition to professionals, even casual users can benefit from a reliable terminal client. It allows them to explore the command line interface, learn programming languages, and perform various tasks with ease. A good terminal client can provide a smooth transition from graphical user interfaces (GUI) to the command line, empowering users to take full advantage of the power and flexibility offered by the command line environment.

In the next section, we will discuss the key features to look for in a terminal client, helping you make an informed decision when choosing the right tool for your needs.

Features to look for in a terminal client

When it comes to choosing a terminal client, there are several key features that you should consider. These features can greatly enhance your experience and productivity in the command line environment. Let’s take a closer look at some of the essential features to look for in a terminal client:

  1. User-friendly interface: A terminal client with a clean and intuitive interface can greatly improve your workflow. Look for features such as customizable themes, easy navigation, and a well-organized layout. A user-friendly interface allows you to focus on your tasks without any distractions, making your overall experience more enjoyable.
  2. Multiple connection support: A good terminal client should support multiple connections, allowing you to connect to different servers or systems simultaneously. This feature is particularly useful for system administrators or developers who need to manage multiple servers or work on different projects at the same time.
  3. SSH key management: SSH (Secure Shell) keys are widely used for secure remote access. A terminal client that offers SSH key management capabilities can simplify the process of managing and using SSH keys. It allows you to easily generate, import, and export SSH keys, ensuring secure and convenient remote access.
  4. Built-in file transfer: Transferring files between your local machine and remote servers is a common task for many users. A terminal client that provides built-in file transfer capabilities can save you time and effort. Look for features such as drag-and-drop file transfer, synchronization, and support for various file transfer protocols.
  5. Terminal customization: Every user has different preferences when it comes to the terminal environment. A terminal client that offers customization options, such as font styles, colors, and keyboard shortcuts, allows you to tailor the interface to your liking. This not only improves your visual experience but also boosts your productivity.
  6. Cross-platform compatibility: In today’s multi-device world, having a terminal client that works seamlessly across different platforms is essential. Look for a terminal client that supports major operating systems, such as Windows, macOS, and Linux. This ensures that you can access your command line environment from any device, anytime, anywhere.

In the next section, we will introduce Termius, a versatile terminal client that encompasses all these features and more. Stay tuned to discover how Termius can revolutionize your terminal experience.

Introducing Termius – a versatile terminal client

Termius is a game-changer in the world of terminal clients. With its outstanding features and user-friendly design, Termius has become the go-to choice for those who want seamless and hassle-free connectivity. Whether you’re a developer, system administrator, or tech enthusiast, Termius offers the perfect blend of functionality and convenience.

One of the standout features of Termius is its unique ability to configure a connection on one device and have it automatically replicated to all your other devices. This means that you only need to set up your connections once, and they will be available on all your devices. Say goodbye to the tedious task of repeatedly setting up connections on each device. With Termius, you can simply set it up once and enjoy easy access from anywhere, at any time.

Termius boasts a user-friendly interface that is both sleek and intuitive. Navigating through the app is a breeze, thanks to its well-organized layout and easy-to-use controls. Whether you’re a beginner or an experienced user, you’ll feel right at home with Termius.

In terms of functionality, Termius offers a wide range of features that cater to the needs of both casual users and professionals. From secure SSH connections to powerful scripting capabilities, Termius has you covered. It supports various protocols, including SSH, Telnet, Mosh, and SFTP, making it a versatile tool for all your terminal needs.

In the next section, we will delve deeper into the process of setting up Termius on multiple devices, allowing you to enjoy seamless connectivity wherever you go. Stay tuned to discover how Termius can revolutionize your workflow and take your terminal experience to the next level.

Setting up Termius on multiple devices

Setting up Termius on multiple devices is a breeze, thanks to its seamless synchronization capabilities. Whether you’re using a smartphone, tablet, or computer, Termius ensures that your connections and settings are replicated across all your devices.

To get started, simply download and install the Termius app on your devices from the respective app stores or the Termius website. Termius is available for major platforms, including Windows, macOS, Linux, iOS, and Android, ensuring cross-platform compatibility.

Once you have installed Termius on your devices, the next step is to sign in to your Termius account. If you don’t have an account yet, you can easily create one within the app. Signing in to your account ensures that your connections and settings are synced across all your devices.

After signing in, you can start configuring your connections on one device. Termius provides a straightforward interface for adding and managing connections. Simply enter the necessary details, such as the hostname, username, and password or SSH key, and save the connection.

The beauty of Termius lies in its synchronization capabilities. Once you have set up a connection on one device, it will automatically appear on all your other devices. This means that you don’t have to manually set up connections on each device, saving you time and effort. Whether you’re at your desk or on the go, Termius ensures that your connections are always within reach.

In addition to connections, Termius also synchronizes other settings, such as themes, fonts, and keyboard shortcuts. This ensures a consistent experience across all your devices, regardless of the platform or form factor.

In the next section, we will explore the process of configuring connections on Termius, allowing you to take full advantage of its powerful features and functionalities. Stay tuned to discover how Termius can simplify your terminal access and enhance your productivity.

Configuring connections on Termius

Configuring connections on Termius is a straightforward process that can be done in a few simple steps. Whether you’re connecting to a remote server, managing a cloud instance, or accessing a local system, Termius provides an intuitive interface for adding and managing connections.

To add a new connection, simply open the Termius app and navigate to the Connections tab. From here, you can click on the “Add” button to start the configuration process. Termius supports various connection types, including SSH, Telnet, Mosh, and SFTP, allowing you to connect to a wide range of systems and servers.

When adding a new connection, you will be prompted to enter the necessary details, such as the hostname or IP address, username, and authentication method. Termius supports both password and SSH key-based authentication, ensuring secure and convenient access to your systems.

In addition to the basic connection details, Termius allows you to customize various advanced settings according to your preferences. For example, you can specify the port number, enable compression, configure terminal settings, and set up port forwarding. These advanced settings give you full control over your connections, allowing you to tailor them to your specific requirements.

Once you have entered all the necessary details, simply save the connection, and it will be added to your list of connections. From here, you can easily access and manage your connections with a single click.

Termius also offers a powerful search and filtering feature, allowing you to quickly find and organize your connections. Whether you have a handful of connections or a long list of servers, Termius makes it easy to navigate through your connections and find the one you’re looking for.

In the next section, we will explore the benefits of using Termius for terminal access, highlighting the advantages it offers over other terminal clients. Stay tuned to discover why Termius is the ultimate choice for seamless and hassle-free terminal connectivity.

Syncing connections across devices with Termius

One of the standout features of Termius is its ability to sync connections across all your devices. This means that once you have set up a connection on one device, it will automatically appear on all your other devices. This feature is particularly useful for users who work across multiple devices or need to switch between devices frequently.

Syncing connections with Termius is seamless and hassle-free. Whether you’re using a smartphone, tablet, or computer, you can enjoy consistent access to your connections regardless of the device you’re using. This eliminates the need to manually set up connections on each device, saving you time and effort.

To enable connection syncing, simply sign in to your Termius account on all your devices. Once signed in, Termius will automatically sync your connections and settings across all your devices. This ensures that you have access to your connections whenever and wherever you need them.

Syncing connections with Termius also provides an added layer of backup and security. In the event that you lose or replace a device, you can easily restore your connections by signing in to your Termius account. This eliminates the risk of losing important connection details and ensures that you can quickly get back to work without any disruptions.

In addition to connection syncing, Termius also provides seamless synchronization of other settings, such as themes, fonts, and keyboard shortcuts. This ensures a consistent experience across all your devices, allowing you to work with ease and efficiency.

In the next section, we will discuss the benefits of using Termius for terminal access, highlighting the advantages it offers over other terminal clients. Stay tuned to discover why Termius is the ultimate choice for seamless and hassle-free terminal connectivity.

Benefits of using Termius for terminal access

Termius offers a wide range of benefits that make it the ultimate choice for seamless and hassle-free terminal access. Let’s take a look at some of the key advantages that Termius brings to the table:

  1. Seamless syncing: Termius allows you to configure a connection on one device and have it automatically replicated to all your other devices. This eliminates the need to repeatedly set up connections on each device, saving you time and effort. Whether you’re at your desk or on the go, Termius ensures that your connections are always within reach.
  2. User-friendly interface: Termius boasts a sleek and intuitive interface that is both visually appealing and easy to navigate. Whether you’re a beginner or an experienced user, you’ll feel right at home with Termius. Its well-organized layout and user-friendly controls enhance your overall experience and make working in the terminal environment a breeze.
  3. Versatile functionality: Termius offers a wide range of features and functionalities that cater to the needs of both casual users and professionals. From secure SSH connections to powerful scripting capabilities, Termius has you covered. It supports various protocols, including SSH, Telnet, Mosh, and SFTP, making it a versatile tool for all your terminal needs.
  4. Cross-platform compatibility: Termius works seamlessly across major operating systems, including Windows, macOS, Linux, iOS, and Android. This ensures that you can access your command line environment from any device, anytime, anywhere. Whether you prefer working on your computer, smartphone, or tablet, Termius provides a consistent experience across all your devices.
  5. Secure and reliable: Termius takes security seriously. It supports SSH key-based authentication, ensuring secure and encrypted connections. It also provides advanced features such as two-factor authentication and local key storage for added security. With Termius, you can rest assured that your terminal access is protected.
  6. Community support: Termius has a vibrant community of users who actively contribute to its development and provide support to fellow users. Whether you’re seeking help, sharing your experiences, or suggesting new features, Termius’ community is there to assist you. This collaborative environment fosters learning and growth, making Termius an even more valuable tool.

In the next section, we will compare Termius with other terminal clients, highlighting the unique features and advantages that set Termius apart from the competition. Stay tuned to discover why Termius is the best terminal client for all your needs.

Comparison with other terminal clients

While there are several terminal clients available in the market, Termius stands out from the competition with its unique features and advantages. Let’s compare Termius with other popular terminal clients to see why it is the best choice for all your terminal needs:

  1. Syncing capabilities: Unlike many other terminal clients, Termius allows you to configure a connection on one device and have it automatically replicated to all your other devices. This eliminates the need to repeatedly set up connections on each device, saving you time and effort. This syncing feature is a game-changer for users who work across multiple devices or need to switch between devices frequently.
  2. User-friendly interface: Termius boasts a sleek and intuitive interface that is both visually appealing and easy to navigate. Its well-organized layout and user-friendly controls enhance your overall experience and make working in the terminal environment a breeze. Many other terminal clients lack this level of polish and often have a steeper learning curve.
  3. Versatile functionality: Termius offers a wide range of features and functionalities that cater to the needs of both casual users and pros.
  4. Security: Termius also offers advanced security features such as two-factor authentication and local key storage for added protection. This ensures that all your data is secure and your terminal access is always protected. Furthermore, Termius also offers periodic updates to ensure that the latest security patches are applied to the software.
  5. Customization: Unlike many other terminal clients, Termius allows you to customize various aspects of the user interface according to your preference. This includes adjusting font size, color scheme, and window layout. You can even create custom shortcuts for quick access to frequently used commands. With these customization options, you can tailor Termius to best suit your needs and make working in the terminal environment even more enjoyable.
  6. Overall, it’s clear that Termius is a powerful yet user-friendly tool with plenty of features and advantages that set it apart from other terminal clients. From its syncing capabilities to its versatile functionality and customization options, Termius has everything you need in a terminal clientโ€”and more!

John