How to Install an Nginx RTMP Server in Ubuntu 22.04

nginx rtmp splash

In this tutorial, you will learn how to install the Nginx web server and enable the RTMP (Real-Time Messaging Protocol) module on any Ubuntu-based distribution. The RTMP protocol is a robust and efficient means of transmitting live video streams from your computer to the internet. This makes it an indispensable tool for content creators and streamers. With this tutorial, you can master the installation and configuration of Nginx with the RTMP module. This will allow you to broadcast your live video streams with ease.

Nginx is an open-source web server that is known for its efficiency, scalability, and reliability. It is widely used by web developers and system administrators to serve dynamic web content, reverse proxy, load balance, and cache HTTP requests. The Nginx RTMP module supports live streaming, making it an all-in-one solution for web developers and content creators.

RTMP is widely used by video streaming services such as YouTube, Twitch, and Facebook Live. With Nginx and the RTMP module, you can create your own video streaming service or broadcast your content on existing platforms. Whether you are a web developer looking to add live streaming to your website or a content creator looking to broadcast your content to a global audience. This tutorial is an excellent starting point to get you up and running with Nginx and the RTMP module.

Update and Upgrade Ubuntu

update and upgrade ubuntu

The first thing you will need to do is update and upgrade Ubuntu. You can do this with the following apt command.

sudo apt update && sudo apt upgrade

Install Nginx Web Server

install nginx web server

Next install nginx using apt.

sudo apt install nginx

Enable the Ubuntu Universe Repository

enable universal repository

We will now need to enable the Ubuntu Universe Repository. It is usually enabled by default but it is a good idea to verify. This will allow us to install the Nginx rtmp module.

sudo add-apt-repository universe

Install the Nginx RTMP Module

install nginx rtmp module

After you have enabled the repository, install the Nginx RTMP module using the command below. This will allow us to stream RTMP video using the Nginx web server.

sudo apt install libnginx-mod-rtmp

Open the Nginx Config File

open nginx config

Now we will need to make a few configuration changes in the nginx config file. Open it using the nano text editor.

sudo nano /etc/nginx/nginx.conf

Add Lines to Config

edit nginx config

Once you have opened the config file, scroll to the bottom and add the following lines. After adding them, save and close the file.

rtmp {
	server {
		listen 1935;
		chunk_size 4096;

		application live {
			live on;
			record off;
		}
	}
}

Restart Nginx Web Server

restart nginx

The last step of the installation process is to restart Nginx. Do this using the following systemctl command.

sudo systemctl restart nginx

Create a Test RTMP Stream with OBS

At this point we have finished the installation and configuration of a RTMP streaming server using Nginx. We now need to test the server. In this article I will be using OBS Studio to demonstrate the test stream. Below you will see instructions for installing OBS on both Windows and Linux. Choose the option that matches the OS of the system you will be streaming from.

Install OBS Studio (Ubuntu)

install obs studio ubuntu

Run the following command to install OBS Studio on Ubuntu.

sudo apt install obs-studio

Install OBS Studio (Windows)

To install OBS on Windows download it from the link below. Then launch the installer and follow the prompts.

Download OBS Studio

Open OBS Studio

open obs

After you have finished installing OBS Studio we can test the stream. Launch the program to get started.

Add a New Source

add a new source obs

Next click on the “+” button in the lower left to add a new source. I will be using the screen capture for this example, however feel free to use any source.

Choose Display

choose a display obs

Next it will ask which screen you would like to use. Generally it is on the correct option by default, but change it if it looks incorrect. Then click on the “OK” button.

Open OBS Settings Menu

open settings menu obs

Then we will need to open the OBS settings menu. Click on “Settings” in the lower right hand corner.

Stream to a Custom RTMP Server with OBS

stream to a custom rtmp server obs

Once the settings menu opens click on the “Stream” tab on the left hand side. Once you are on the tab change all three fields highlighted in red. Change the service drop down to “Custom…”, the Server to “rtmp://NGINX_SERVER_IP/live”, and the Stream Key to “test”. Then click on “OK” to save the changes.

Start the Test Stream

start streaming obs

After saving your streaming settings click on the “Start Streaming” button to begin the RTMP stream.

Open a Network Stream in VLC

open network stream vlc

Now we will test the RTMP stream using VLC Media Player. Launch the program then navigate to the “Media” tab in the top bar. Then click on “Open Network Stream…”.

Enter Network Stream URL

enter network url vlc

Enter the following into the box highlighted in red replacing “localhost” with your Nginx servers IP address. Then click on the “Play” button to start watching the stream.

rtmp://NGINX_SERVER_IP/live/test

Verify the RTMP Stream

verify rtmp stream

Verify that you can see your OBS stream. If you are able to see it then you have successfully streamed to a Nginx RTMP server using OBS Studio.

Questions?

If you have any questions or comments feel free to leave them below.

Related Resources

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Check out our How to Easily Create a Bootable Linux USB Drive using Rufus article.

View our How to Setup an SFTP Server on Ubuntu 22.04 using OpenSSH tutorial.

Learn more cool things in Windows with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

The Best Work From Home Laptops Under $800

best wfh laptops splash

In recent years the number of people working from home has dramatically increased. This is due to many businesses adopting remote work policies. Working from home can be both a convenient and flexible option. However a work from home job requires reliable technology such as a good laptop to be as productive and efficient as possible. A work from home laptop is a crucial tool that enables you to access your work files and applications, communicate with colleagues and clients, and complete your daily tasks.

What makes a good work from home laptop?

A good laptop for work from home should have enough processing power, memory, and storage capacity to handle your daily workload. It should also have a high-quality display and a good battery life to ensure you can work comfortably and uninterrupted throughout the day. Additionally, a reliable internet connection and sufficient connectivity options are necessary to communicate with clients and access your online jobs resources. A good work from home laptop can significantly improve your productivity, reduce stress and make working from home a pleasant and rewarding experience.

Features to Look for When Buying a Laptop

  • Fast and powerful processor
  • Sufficient RAM for multitasking
  • High-quality display with a comfortable size and resolution
  • Reliable battery life for all-day use
  • Strong internet connectivity (Wi-Fi or Ethernet)
  • Sufficient USB ports and support for external displays
  • Lightweight and portable or sturdy and stationary design, depending on personal preference and workspace setup
  • Security features, such as bio-metric authentication and strong password encryption
  • Affordable pricing and good value for the features offered.

By prioritizing these features you can find a work from home laptop that meets your specific needs. This will allow you to work efficiently, comfortably, and securely from the comfort of your home.

Lenovo IdeaPad 3i (2022)

Lenovo IdeaPad 3i (2022)

The Lenovo IdeaPad 3i is an excellent mid-range laptop that is perfect for a work-from-home job. It boasts a powerful Intel Core i5-1135G7 processor. This ensures smooth and fast performance even when running multiple applications. With 8GB of DDR4 RAM, multitasking is a breeze allowing you to work on several projects simultaneously without experiencing any lag. This laptop also comes with a spacious 512GB SSD drive that provides ample space for storing all your important files and documents.

The Full-HD display of the IdeaPad 3i is stunning. It provides wider viewing angles that offer better color accuracy and contrast. This makes it easier to work for extended periods of time without eye strain. The vibrant display also means you can enjoy your favorite movies or TV shows with exceptional visual quality. In addition the laptop features a HD webcam with dual microphones that deliver crystal clear sound for virtual meetings and video calls. The two USB 3.2 and one USB Type-C ports offer an array of options for expanded connectivity to other devices. Overall, the Lenovo IdeaPad 3i is a fantastic mid-range option for anyone who needs a reliable and efficient laptop for their work from home job or daily use.

System Specifications:

  • CPU: Intel Core i5-1135G7 (2.4GHz Base, 4.20Ghz Boost)
  • RAM: 8GB DDR4 (3000Mhz)
  • Storage: 512GB SSD
  • Display: 15.6″ Full-HD (1920×1080)
  • Wireless: Bluetooth, 802.11ac

View on Amazon (Backup Link)

‎HP Pavilion 15 Laptop (2022)

HP Pavilion 15 Laptop (2022)

The HP Pavilion 15-eg2025nr laptop is a versatile and powerful laptop. It offers exceptional performance, entertainment, and security. Its compact size allows you to work on the go while still enjoying stunning graphics and rich audio. The laptop is equipped with an Intel Core i7-1255U processor, 16GB of DDR4 RAM, and a 512GB SSD for fast read and write speeds. With a 15.6″ FHD display, you can expect a bright and vivid visual experience. In addition to its powerful performance the HP Pavilion 15-eg2025nr also boasts a long battery life of up to 8 hours. This makes it an ideal choice for those who need to work or stream videos on the go without being tethered to a power outlet.

The laptop is also designed with enhanced security features including a fingerprint reader for quick and secure access. The fingerprint reader also ensures that your data and files remain private and protected. With the HP Pavilion 15-eg2025nr, you can enjoy all the benefits of a high-performance laptop without sacrificing portability or security. Whether you need it for work or entertainment, this laptop delivers top-notch performance, reliable security, and an exceptional user experience. Overall the HP Pavilion 15-eg2025nr is one of the best laptops for work from home.

System Specifications:

  • CPU: Intel Core i7-1255U (4.7GHz Boost)
  • RAM: 16GB DDR4 (3200 MHz)
  • Storage: 512 GB PCIe NVMe M.2 SSD
  • Display: 15.6″ Full-HD (1920×1080)
  • Wireless: Bluetooth, 802.11ac

View on Amazon (Backup Link)

Dell Inspiron 3511 (2022)

Dell Inspiron 3511 (2022)

The Dell 3511 is a fantastic option for anyone looking for a powerful and durable work from home laptop. Its chassis is well-built and constructed of solid aluminum with a carbon-black color. This gives the machine a sophisticated clean facade. The laptop features an Intel Core i5-1135G7 and 16GB of DDR4 RAM which provides the necessary processing power for any work task or personal project. Its 512GB SSD drive offers fast read and write speeds ensuring you can work quickly and efficiently. Additionally the laptop comes preinstalled with Windows 11 Home. This provides you with a user-friendly interface and a range of new features to increase your productivity.

The Dell 3511 also includes a 15.6″ Full HD anti-glare display making it easy to work for extended periods without straining your eyes. The keyboard is comfortable and responsive while providing just the slightest bit of feedback while typing. The full size keyboard also includes a dedicated number pad which is a useful addition for anyone who works with numbers frequently. The entire keyboard is spill-resistant providing additional protection against accidental spills. Overall, the Dell 3511 is an excellent option for anyone who needs a reliable and high-performing laptop for work from home use.

System Specifications:

  • CPU: Intel Core i5-1135G7 (2.4GHz Base, 4.2Ghz Boost)
  • RAM: 16GB DDR4 (3600MHz)
  • Storage: 512GB PCIe NVMe M.2 Solid State Drive
  • Display: 15.6″ Full-HD (1920×1080)
  • Wireless: Bluetooth, 802.11ac

View on Amazon (Backup Link)

Flagship Lenovo IdeaPad (2022)

Flagship Lenovo IdeaPad (2022)

The Lenovo IdeaPad Flagship series is a reliable and high-performing laptop that comes with a range of impressive features. One of its key features is the Ryzen 7 5700U CPU which provides lightning-fast processing, and ensures that the laptop can handle multiple applications and programs at once. With 24GB of DDR4 RAM the IdeaPad is a reliable device that can keep up with even the most demanding workloads. In addition to its powerful processing capabilities the IdeaPad also features a 1TB PCIe SSD. This enables the laptop to run lots of programs simultaneously without experiencing any delays, ensuring a smooth and seamless user experience. With Windows 11 Home preinstalled, users can get started with their work or personal tasks right away.

Another standout feature of the Lenovo IdeaPad is its beautiful 1920×1080 15.6″ touchscreen display. The high-resolution display ensures that everything on the screen is crisp and clear. This makes it easy to work for extended periods without experiencing any eye fatigue. The touchscreen functionality adds an additional layer of convenience to the user experience. In summary the Lenovo IdeaPad Flagship series is a powerful and reliable laptop that is suitable for a wide range of work and personal tasks. Its combination of a high-performing CPU, ample RAM, speedy SSD, and a beautiful display make it an ideal choice for anyone who values performance and reliability from a work from home laptop.

System Specifications:

  • CPU: AMD Ryzen 7 5700U (1.8GHz Base, 4.3Ghz Boost)
  • RAM: 24GB DDR4 (3200Mhz)
  • Storage: 1TB PCIe SSD
  • Display: 15.6″ Touchscreen Full-HD (1920×1080)
  • Wireless: Bluetooth 5.1, 802.11 Wireless-AX (2×2)

View on Amazon (Backup Link)

Dell Latitude 7490 (2022)

Dell Latitude 7490 (2022)

The Dell Latitude 7490 is an exceptional laptop for those who work from home. This laptop boasts impressive features including an Intel Core i7-8650U processor, 16GB of DDR4 RAM, and a 512GB SSD. With such powerful components users can expect top of the line performance from the laptop.
The laptop has a 14″ display with a resolution of 1080p which delivers clear and vibrant visuals. Additionally the backlit keyboard makes typing in low-light environments comfortable and easy. The Dell Latitude 7490 is known for its superior build quality, good input devices, and a broad range of connectivity and security options.

The laptop’s sturdy construction ensures that it can withstand daily use and frequent travel. Its high quality components make it a reliable and long-lasting choice. The Dell Latitude 7490 offers a range of connectivity options including USB-C, HDMI, and Ethernet, this makes it easy to connect to a variety of peripherals and networks. Overall, the Dell Latitude 7490 is an outstanding option for those looking for a top-tier work from home laptop that offers excellent performance, reliability, and security. It is an ideal choice for professionals who require a high-performing and durable laptop for both home and travel use.

System Specifications:

  • CPU: Intel Core i7-8650U
  • RAM: 16GB DDR4 (3000MHz)
  • Storage: 512GB SSD
  • Display: 14.1″ Full-HD (1920 x 1080)
  • Wireless: Dual-Band Wireless-AC 8265, Bluetooth 4.2

View on Amazon (Backup Link)

ThinkPad E15 (2020)

ThinkPad E15 (2020)

The ThinkPad E15 is a rugged laptop that offers a wide range of features. This makes it an excellent choice for anyone who needs a reliable and powerful device. It has a 15.6″ Full HD display, USB-C ports, 16GB DDR4 memory, 512GB SSD, and an Intel Core i5-10210U processor that delivers fast and efficient performance. It also comes with Windows 10 Professional preinstalled. This makes it an ideal laptop choice for business use. One of the best features of the ThinkPad E15 is its MIL-SPEC testing. This ensures that the E15 can withstand a wide range of environments from freezing Arctic cold, to hot and dry desert climates.

Additionally it is designed to handle accidental knocks, drops, and spills without losing any of its performance. As a result it is an excellent option for people who need to work on the go or in an outdoor environment. The ThinkPad E15’s durability is combined with its high-performance features such as ample storage, and a powerful intel processor. Overall its versatility, efficiency, and durability make it an outstanding option for anyone in need of a laptop that can handle challenging environments, and provide fast and efficient performance.

System Specifications:

  • CPU: Intel Core i5-10210U (1.66GHz Base, 4.20GHz Boost)
  • RAM: 16GB DDR4 (3200MHz)
  • Storage: 512GB PCIe SSD
  • Display: 15.6″ Full HD (1920×1080)
  • Wireless: Wi-Fi 802.11ac (2×2), Bluetooth 5.0

View on Amazon (Backup Link)

Common Questions

What laptop specs do I need for Work From Home?

There are a few things to consider, mainly the processor, RAM, storage, display, and connectivity. The processor should be at least an Intel Core i5 or better. The laptop should have at least 8GB of RAM and a solid-state drive (SSD) with a minimum of 256GB storage. The display should be Full HD or 4K, and have an anti-glare coating. The laptop should have Wi-Fi, Ethernet, Bluetooth, and preferably USB-C ports for increased versatility and connectivity.

What are the benefits of purchasing a powerful laptop?

A powerful laptop can offer several benefits for those working from home. First and foremost it can provide fast and efficient performance. This enables users to complete their work quickly and easily. Additionally a powerful laptop can offer ample storage allowing users to store and access large files and data sets without experiencing lag or delays. Overall investing in a powerful laptop can greatly enhance the work from home experience by making it more efficient, comfortable, and enjoyable.

Conclusion

Choosing the right laptop is a critical decision for anyone working from home. As remote work continues to grow in popularity it is becoming increasingly important to have reliable technology that can help you be productive and efficient. By investing in a laptop that has the processing power, memory, storage, and display quality to meet your specific needs will allow you to enjoy a more comfortable and uninterrupted work experience. Additionally having a reliable internet connection and connectivity options is essential for communicating with colleagues and accessing online resources. Ultimately a good work from home laptop can help you be more productive, reduce stress, and make working from home a positive and rewarding experience.

Questions?

If you have any questions or comments feel free to leave them below.

Recommended By Our Editors

View our Best Mechanical Gaming Keyboards to Purchase in 2023 guide.

Learn How to Configure a Firewall in Linux using UFW.

Check out How to Setup OpenSSH with Keys on Ubuntu 22.04.

View our Deep Learning Image Style Transfer Tutorial Using Neural Style Pt tutorial.

Learn How to Create a Mapped Network Drive in Windows 10.

View all of our available online tools and converters at Formatswap.com.

How to Install and Configure Oh My Zsh in Linux

ohmyzsh splash

Using this tutorial you will learn how to install the popular bash shell alternative Oh My Zsh. Most Linux systems come preinstalled with the bash shell. Oh My Zsh adds many features compared to what you would find in this shell. Integrating Oh My Zsh into your workflow can provide numerous benefits. It’s easy to install, customize, and use, making it a must have tool for anyone looking to optimize their terminal experience. This will optimize and improve the speed and efficiency of your terminal based workflow.

Benefits of Oh My Zsh

One of the main benefits is spelling correction. While the standard bash shell offers this feature, Oh My Zsh does more efficiently and accurately. Another reason to use Oh my Zsh is the ability to easily install custom themes. There are hundreds of pre-built themes available for download on the projects GitHub page. Theming is also possible in the standard bash shell, however you are limited in the amount of customization you can easily achieve. The primary reason I recommend people switch to Oh My Zsh is its advanced command history ability. You can customize the shells history to your specific liking. This makes re-running past commands indefinitely easier. Don’t miss out on the chance to enhance your terminal with Oh My Zsh.

Update and Upgrade

update system

In this tutorial I will be using Ubuntu 22.04 to install the shell. However any Linux distribution that supports bash will support installing Oh My Zsh.

sudo apt update && sudo apt upgrade

Download and Install Curl

install curl

Next you will need to install the application curl. This will allow us to download and install Oh My Zsh using a curl command.

sudo apt install curl

Download and Install Zsh

install zsh

After installing curl you need to download the base zsh shell program. Install it by running the following apt command.

sudo apt install zsh

Installation Options

You are able to install Oh My Zsh using either the wget, fetch, or curl command. In this example I will be using wget. Use whichever method you prefer and run the command.

wget:

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

fetch:

sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

curl:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Download Oh My Zsh

download ohmyzsh

After running the command to download Oh My Zsh you will need to change it to your default shell. Type “y”, then press “Enter” to confirm the change.

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Installation Successful

zsh successful install

You will see the following screen after Oh My Zsh finishes the installation process. The shell is almost ready for use. We just need to verify the installation and make a few edits to the zshrc configuration file. Press “Ctrl+C” twice to exit the Oh My Zsh installer.

Verify the Zsh Installation

verify zsh

Run the “zsh –version” command and verify that you have zsh 5.8 or newer.

zsh --version

Set Default Shell to Zsh

set shell to zsh

Set zsh as the default shell using the “chsh” command.

chsh -s $(which zsh)

Logout to Apply Changes

logout linux

Now you will need to logout of your user account to apply the new changes. Run the “pkill” command below. Once you have logged out, log back in and reopen your terminal.

sudo pkill -SIGKILL -u [your username]

Verify Current Shell

verify current shell

Next verify that your shell is set to zsh using the command below. You should see “/usr/bin/zsh” as the commands output.

echo $SHELL

Verify Shell Version

verify shell version

Now verify that the correct version of zsh is set as your default shell. You should see version 5.8 or newer.

$SHELL --version

Open the Oh My Zsh Config File

nano ~/.zshrc

Next we will customize the shell using the “.zshrc” file located in the home directory. Open the Oh My Zsh configuration file using the command below.

nano ~/.zshrc

Set a Oh My Zsh Theme

set a theme oh my zsh

Now you will want to set a theme. Locate the “ZSH_THEME” and modify it to the theme name of your choice. Above I have set my theme to “agnoster” as it is one of my personal favorites. You can view the full list of available themes to choose from on the Oh My Zsh Github page. Save the file when you are finished with your changes.

Apply the Configuration

source the zshrc config file

Once you are finished editing the zshrc config file you will need to apply the changes. Run the command below, then reopen your terminal.

source ~/.zshrc

Verify Oh My Zsh Theme

test theme

If everything worked correctly you will see your new theme. You have now successfully installed Oh My Zsh, and configured a theme. If you are interested in adding plugins to echance your shells experience even further, visit the plugins page on the Oh My Zsh Wiki.

Conclusion

In conclusion, with the help of this article you now have the tools to effortlessly set up and customize Oh My Zsh in your Linux environment. Say goodbye to mundane terminal sessions and hello to a more productive, customizable, and user-friendly shell experience.

Questions?

If you have any questions or comments feel free to leave them below.

Recommended By Our Editors

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Configure a Firewall in Linux using UFW.

Check out How to Setup OpenSSH with Keys on Ubuntu 22.04.

View our Deep Learning Image Style Transfer Tutorial Using Neural Style Pt tutorial.

Learn How to Create a Mapped Network Drive in Windows 10.

View all of our available online tools and converters at Formatswap.com.

The Best Mechanical Gaming Keyboards to Purchase in 2023

The Best Mechanical Keyboards to Purchase in 2023

Purchasing a mechanical keyboard offers many more features when compared to standard rubber dome keyboards. First of all mechanical keyboards offer the user tactical feedback, and a smooth typing experience with every keystroke. This allows you to easily verify that every key you press is accurately registered. Another great advantage of mechanical keyboards is that they are long lasting. Rubber dome keyboards can easily wear out with prolonged use. This is due to the rubber becoming worn overtime. A worn out keyboard can lead to keystrokes not being registered, and lead to a negative impact in your games.

Additionally mechanical gaming keyboards offer customization with RGB lighting. Many new keyboards even support syncing your keyboard’s backlighting to various smart lighting systems. Having backlit keys allows you to easily identify what you are typing in dimly lit environments. Some mechanical keyboards even offer OLED displays built right into the case. These allow you easily see in-game stats, recent messages, system information, and much more. Having the ability to customize per-key RGB backlighting allows you to personalize your gaming setup to your exact preferences.

In short, purchasing a mechanical gaming keyboard is a great long term investment for gamers looking for a more enjoyable experience. If you want accuracy, customizability, tactical typing, and reliability then a mechanical keyboard is the right choice for you.

SteelSeries Apex 5 Hybrid Mechanical Gaming Keyboard

SteelSeries Apex 5 Hybrid Keyboard

The Apex 5 by Steelseries is one of the best RGB mechanical gaming keyboards currently on the market. The smooth membrane switches offer superior performance while being resistant against everyday wear and tear. The mechanical hybrid blue switches offer a premium tactile gaming experience. Another great feature is the aircraft grade brushed aluminum alloy body which offers superior reliability. Additionally you have the ability to easily customize the OLED display to view information from your games, discord, and many other applications. The Apex 5 also sports built-in multimedia controls with the touch of a button.

Key Features:

  • Per-Key RGB Illumination
  • Magnetic Wrist Rest
  • Hybrid Blue Mechanical Switches
  • Aluminum Alloy Body
  • Dedicated Multimedia Controls

View on Amazon (Backup Link)

Corsair K100 RGB Mechanical Gaming Keyboard

Corsair K100 RGB Mechanical Gaming Keyboard

The K100 RGB optical-mechanical keyboard from Corsair offers a new level of performance. Power by AXON the K100 RGB offers fast Hyper-Polling and Key-Scanning speeds. This leads to faster input times and faster reactions while gaming. The K100 RGB also offers up to 44 zone layers of RGB lighting presets. One of the best features is the Cherry MX Speed RGB Keyswitches. They offer fast input with less than a 1.2mm actuation distance allowing for smooth vertical key travel. Additionally, the RGB backlit keycaps are resistant to shine, light fading, and scratches.

Key Features:

  • Per-Key RGB Illuminated Key Caps
  • iCUE Control Wheel (programmable custom actions)
  • 8,000Hz Hyper-Polling and 4,000Hz Key Scanning
  • Programmable Macro Key Assignments
  • Cherry MX Speed RGB Keyswitches

View on Amazon (Backup Link)

Logitech G413 Backlit Mechanical Gaming Keyboard

Logitech G413 Backlit Mechanical Gaming Keyboard

With the Logitech G413 you receive premium backlit red mechanical keycaps. The durable red keycaps offer a low travel of motion increasing the accuracy of your keystrokes. The keys are designed to be visible in any lighting condition while avoiding being distracting. This makes the keyboard easy on the eyes in low light gaming situations. The G413 also has a brushed 5052 aluminum case. One of the best features is the fully programmable FN macro keys. You are able to easily configure the FN keys to switch applications, play and pause music, toggle lighting, and much more.

Key Features:

  • Red Backlit Mechanical Key Caps
  • USB Passthrough
  • FN-Key Based Media Control
  • Brushed 5052 Aluminum Case
  • Programmable Macros

View on Amazon (Backup Link)

Corsair K95 RGB Platinum XT Mechanical Gaming Keyboard

Corsair K95 RGB Platinum XT Mechanical Gaming Keyboard

The Corsair K95 RGB Platinum XT mechanical keyboard delivers smooth and fast input with its Cherry MX Speed keyswitches. The keyswitches are durable and guaranteed for over 100 million keystrokes. The keyswitches also deliver per-key RGB backlighting with up to 19 zones of lighting. The keys deliver bright and dynamic lighting with a wide range of customizable options. You also have the ability to program custom commands using the Elgato Stream Deck software. The cushioned leatherette palm rest will ensure that marathon gaming sessions are always comfortable.

Key Features:

  • 19 Zone Per-key RGB backlighting
  • Dedicated Programmable Macro Keys
  • Cherry MX Silver Mechanical Key Switches
  • Detachable Cushioned Palm Rest
  • Elgato Stream Deck and iCUE NEXUS Integration

View on Amazon (Backup Link)

SteelSeries Apex Pro Mechanical Gaming Keyboard

SteelSeries Apex Pro Mechanical Gaming Keyboard

The Apex Pro by Steelseries is one of the most customizable mechanical gaming keyboards on the market. It is often referred to as “the world’s fastest gaming keyboard” thanks to its Omnipoint 2.0 keyswitches. With the Apex Pro you have the ability to adjust the key actuation between 0.2mm-3.8mm. This provides 11x faster key response time, and 10x faster actuation when compared to a conventional mechanical keyboard. Another great benefit is the individually addressable backlit RGB keys. One of the outstanding features of this keyboard is the OLED display. Using the display you can easily see system stats, recent notifications, or change between RGB profiles.

Key Features:

  • Adjustable Key Actuation
  • Aircraft Grade Aluminum Alloy Case
  • Customizable OLED Smart Display
  • Magnetic Wrist Rest
  • Per-Key RGB Illumination

View on Amazon (Backup Link)

Logitech G512 Mechanical Gaming Keyboard

Logitech G512 Mechanical Gaming Keyboard

The Logitech G512 is a great choice for those who are looking for a blend of premium features, performance, and reliability. It offers both the GX Blue mechanical keyswitches, as well as personalized RGB lighting using the Logitech Lightsync software. One of the main features is a full power USB port on the rear. This allows you to easily connect a microphone, cellphone, or other accessories. You are also able to set up custom commands, or control media using the programmable FN keys. The G512 provides an aircraft grade brushed aluminum alloy top case. This allows for a minimal design while providing long term durability.

Key Features:

  • GX Blue Key Mechanical Key Switches
  • Programmable FN Key Macros
  • Individual Key RGB Illumination
  • Brushed Aluminum Alloy Case
  • Full Power USB Passthrough

View on Amazon (Backup Link)

Corsair K60 RGB Pro Mechanical Gaming Keyboard

Corsair K60 RGB Pro Mechanical Gaming Keyboard

The K60 RGB Pro keyboard offers Cherry mechanical keyswitches, stunning per-key backlighting, and a durable brushed aluminum case. The K60 is affordable while still offering premium keyswitches with a 2mm actuation distance. Another great feature is the ability to use the FN keys to control media, change lighting presets, or launch custom commands. This allows you to personalize the keyboard to your preferences. Enjoy over 10 onboard lighting modes, or create your own with Corsairs iCue software. The key-caps themselves use a transparent design. This allows greater light diffusion and radiance.

Key Features:

  • Individually Programmable Keys
  • Cherry MV VIOLA Mechanical Key Switches
  • Per-Key Customizable RGB Illumination
  • Aircraft Grade Brushed Aluminum Case
  • FN Based Media Control Keys

View on Amazon (Backup Link)

Razer BlackWidow V3 Mechanical Gaming Keyboard

Razer BlackWidow V3 Mechanical Gaming Keyboard

Next we have the BlackWidow V3 mechanical gaming keyboard produced by Razer. You can choose from either the Razer Green, or Razer Yellow mechanical switches. The Green offers a clicky tactile feel, while the yellow is smooth and quiet. One of the main benefits of Razer mechanical switches is the 1.2mm actuation distance. This offers both fast speeds and tactical feedback. With Razer’s full chroma per-key RGB lighting you can customize your keys with over 16.8 million colors. The BlackWidow V3 also offers color sync support for most games, Philips Hue, and over 30+ other partners. This allows you to sync your smart lights to your keyboard. Protect your wrists from fatigue with the built in ergonomic wrist rest, allowing for marathon gaming sessions.

Key Features:

  • Programmable Macro Keys
  • Razer Yellow or Green Mechanical Switches
  • Individually Backlit Keys with Razer Chroma
  • Scratch Resistant Doubleshot ABS Keycaps
  • Ergonomic Leather Wrist Rest

View on Amazon (Backup Link)

Final Thoughts

Choosing a mechanical keyboard is always a tough decision that usually comes down to an individual’s preferences. However there are a few factors that you will want to pay attention to when choosing one. These include the key layout, backlighting options, keyboard size, type of mechanical switch, and the compatibility with your current gaming setup. It is important to consider the durability, as well as the manufacturer’s reputation. Consider the above factors to decide which mechanical gaming keyboard will provide a satisfying, and comfortable gaming experience for you.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our How to Install Ubuntu Server 22.04 [Step by Step] tutorial.

Learn How to Use the Alias Command in Linux.

Check out our How to Configure a Firewall in Linux using UFW article.

View our How to Setup a FTP Server with FileZilla in Windows tutorial.

Learn more cool things in Windows with our Windows Tutorials.

View all of our available online utilities and converters at Formatswap.com.

Affiliate Disclaimer:

This website may contain affiliate links. This means we may receive a small commission if you purchase through our links. However, this does not impact our reviews and comparisons, as we only promote products we personally believe in. We are independently owned and the opinions expressed here are our own.

How to Setup an SFTP Server on Ubuntu 22.04 using OpenSSH

sftp splash

In this article you will learn how to enable and connect to the SFTP server in OpenSSH. With SFTP (Secure File Transfer Protocol) you can easily transfer files over the internet using SSH. We will be using Ubuntu 22.04 for our server, however any version of Linux should work.

This guide will use password authentication with IP firewall restriction. This will prevent anyone besides those who you want accessing the box via SSH or SFTP. If you want the highest level of security possible you will want to enable keys in OpenSSH before following this guide. Learn how to enable keys with our How to Setup OpenSSH with Keys on Ubuntu 22.04 tutorial.

SFTP vs FTP

It is important to mention that SFTP is not the same as FTP. One of the main differences is while they both transfer files, only SFTP encrypts the data during transit. Another difference is FTP is unable to benefit from public key files for authentication. Using public keys with SFTP increases security by encrypting the transfer data stream. If your aim is security then it is highly recommended you use SFTP versus FTP. Now that I have described the differences lets move on to configuring and connecting to an SFTP server in OpenSSH.

Update and Upgrade Ubuntu

update and upgrade ubuntu

The first thing you need to do is update and upgrade your Ubuntu installation. Open a terminal and type the following command. Afterwards press “Y” to confirm.

sudo apt update && sudo apt upgrade

Install OpenSSH

install open-ssh

After your system has finished updating you will need to install the OpenSSH server software. OpenSSH provides encrypted file transfer for file transfers and remote logins. Install the software using the apt command.

sudo apt install openssh-server

View SSH Status

view ssh status

Next you need to verify that OpenSSH is installed on your system and actively running. Use the below command and confirm that you see “active (running)” on the third line.

sudo systemctl status ssh

If SSH does not show as active and running it may be disabled. Run the following command to enable and start the OpenSSH server.

sudo systemctl enable ssh && sudo systemctl start ssh

Create New User

create a new user

Now you will need to create a new user for logging into the SFTP server. Run the adduser command then type a password. You can skip the other fields if you wish. Finally press “Y” to confirm.

sudo adduser sftpuser

Create New Group

create a new group

Afterwards we will create a new group for our sftpuser. We will configure SSH to give SFTP access to any user in this group. Run the addgroup command to proceed.

sudo addgroup sftpusers

Add User to Group

add user to group

Next we need to add the user to the new group. Run the usermod command to add the sftpuser to the sftpusers group.

sudo usermod -a -G sftpusers sftpuser

Change User’s Home Permissions

change users home permissions

Then we will set new permissions on the sftpuser’s home directory. This will allow the SFTP server to access these files. First execute the chown command followed by the chmod command. The sftpuser’s home will be the folder you access when you connect to the SFTP server.

sudo chown root: /home/sftpuser
sudo chmod 777 /home/sftpuser

Edit the SSH Config File

Next we need to edit the sshd_config file and edit a few lines. Open the configuration file using the nano text editor as shown below.

sudo nano /etc/ssh/sshd_config

Locate the Subsytem Line

locate subsystem line

After you open the file scroll down and look for the Subsystem line. Once you locate the line comment it out using the “#” symbol as shown below.

#Subsystem      sftp    /usr/lib/openssh/sftp-server

Add New Lines

Now that you have commented out the Subsystem line you need to add a few additional lines. Paste the following underneath the line you commented out. Your sshd_config file should match the screenshot above. After the lines have been added save and close the file using “Ctrl+X”.

Subsystem sftp internal-sftp

Match Group sftpgroup
     ChrootDirectory %h
     X11Forwarding no
     AllowTCPForwarding no

Restart SSH

restart ssh

To apply our changes we will restart ssh. Use the following service command.

sudo service ssh restart

Configure the Firewall

The next step is to configure the firewall using UFW to control access to our SFTP server. Start by denying all incoming traffic, and allowing all outgoing.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Allow SSH (All IP’s)

allow ssh

You have two options when allowing SSH through the firewall. You can either allow any IP to access port 22 (not recommended). Or you can only allow specific IP(s) through the firewall. I recommend the section option as it offers higher security. If you want to allow any IP run the following command.

sudo ufw allow ssh

Allow SSH (Specific IP’s)

allow specfic ip

If you want to only allow specific IP’s to access the server run the following command for each IP you want to have access. You need to replace “IP-ADDRESS” with your own IP. This is highly recommended as it offers the highest level of security.

sudo ufw allow from IP-ADDRESS to any port ssh

Enable UFW

enable ufw

After you have allow the IP’s (or everyone) who you want to have access you will need to enable UFW. Run the following command.

sudo ufw enable

Check Firewall Status

check firerwall status

The last step is to check the firewall status and verify your configuration. Check it using the ufw status command. If you allowed access to only specific IP’s you will see them in the “From” column.

sudo ufw status

Connecting to the SFTP Server

Finally we can test our connection to the SFTP server. The first thing you will need is a FTP client. I recommend downloading FileZilla. This is the software we will use in this tutorial. You can install it using the following apt command.

sudo apt install filezilla

Edit Site List

edit filezilla site list

Open Filezilla and click on the site manager button in the upper left hand corner.

Add a New Site

add filezilla site

Type Connection Information

add filezilla connection information

Confirm Host Key Prompt

confirm filezilla hostkey

Verify Connection

verify filezilla connection

Questions?

If you have any questions or comments feel free to leave them below.

Related Resources

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Check out How to Setup OpenSSH with Keys on Ubuntu 22.04.

View our How to Mount an SMB (Samba) Share in Linux with cifs-utils tutorial.

Learn How to Use the Alias Command in Linux.

View all of our available online tools and converters at Formatswap.com.

How to Configure a Firewall in Linux using UFW

ufw linux firewall splash image

This tutorial will teach you how to install and configure UFW (Uncomplicated Firewall) in Linux. Firewalls are vital to keep your applications and systems secure. UFW provides a command line frontend interface for iptables using a few simple commands. It is designed to be easy to use and uncomplicated to configure. Using only Netfilter in iptables for firewalls can be a daunting task. UFW is a simple solution to using a firewall in Linux. In this tutorial we will be using Ubuntu 22.04 but any Ubuntu or Debian based Linux distribution will work.

Check if UFW is Installed

ufw status
sudo ufw status

The first thing you need to do is check if UFW is already installed. It is installed by default on most Linux distributions. You can check if UFW is currently installed by opening a terminal shell and running the “ufw status” command. If UFW is already installed you will see a similar output to what is above. It will say “Status: inactive”. If you get an error you will have to install UFW.

Install UFW

install ufw
sudo apt install ufw

To install UFW run the command “sudo apt install ufw”. Then click yes on the confirmation dialog.

Deny Outgoing and Incoming Connections

ufw allow outgoing
sudo ufw default allow outgoing

The first thing you want to do when configuring the firewall is to deny all incoming and outgoing connections. To deny outgoing connections run the command “sudo ufw default deny outgoing”.

ufw allow deny incoming
sudo ufw default deny incoming

Then repeat the same step using “sudo ufw default deny incoming” to deny the incoming connections.

Configure Firewall Rules

Allow a Program

allow ftp ufw
sudo ufw allow ftp

You can allow individual programs through the firewall using their names. Above I allow ftp using the command “sudo ufw allow ftp”.

Allow a Specific Port

allow port 21 ufw
sudo ufw allow 21

To allow a specific port use the command “sudo ufw allow 21”. In the above example I am allowing the FTP port 21.

Deny a Specific Port

deny port 22 ufw
sudo ufw deny 22

You can also allow specific programs and ports. In the above example I deny port 22 using “sudo ufw deny 22”.

Allow a TCP Port

allow tcp port 443 ufw
sudo ufw allow 443/tcp

You can also allow or deny specific ports to be tcp or udp only. In the above example I allow only tcp traffic on port 443.

Allow a UDP Port

allow udp port 111 ufw
sudo ufw allow 111/udp

You can also allow any deny udp ports as shown above. By default it will allow or deny on both tcp and udp unless you specify one of the two.

Allow and Deny Access to IP Addresses

Sometimes you may want to only allow certain IP addresses access to your system. In this case you can setup a rule to control access on a per IP basis.

Allow an IP

allow an ip address

Using the above rule you are able to allow only specific IP addresses to access your system. This is the securest way to setup a FTP or SSH server that needs remote access.

Deny an IP

deny an ip address

This rule is useful in situations where you are allowing all IP addresses through the firewall, but just want to block certain ones.

Enable or Disable UFW Firewall Rules

Enable UFW

enable ufw
sudo ufw enable

Now you will need to enable the firewall to apply the rule set you created. To enable the UFW firewall type “sudo ufw enable”.

Disable UFW

disable ufw
sudo ufw disable

If you need to disable the firewall you can run the command “sudo ufw disable”. This will keep the firewall disabled until you enable it again.

View the Firewalls Status

ufw view status
sudo ufw status

To view the status of the firewall type “sudo ufw status”. This will show you all of the ports and or programs that you are allowing or denying through the firewall. It will also show you whether UFW is active or inactive.

Advanced UFW Rules

ufw edit rules files
cd /etc/ufw/

Most rules can be applied using the command line but sometimes you want more control over the rules. In this case you can directly edit the rules using the “before.rules” and “after.rules” files located in the “/etc/ufw/” directory. The before rules are applied before UFW is launched while the after rules apply after UFW is running.

ufw edit config file
nano /etc/default/ufw

You can also edit the UFW configuration file located at “/etc/default/ufw” for more advanced configurations.

Enable Logging

ufw enable logging
sudo ufw logging on

You can enable logging in UFW by running the command “sudo ufw logging on”. This will enable the logs in the lowest mode by default. If you want to specify the log level use the command “sudo ufw logging low|medium|high“.

view of ufw log
nano /var/log/ufw.log

The UFW log file will be located at “/var/log/ufw.log” by default. I have set my logging level to low. Above is an example of what your log file may look like.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our How to install Kali Linux 2022.3 [step by step] tutorial.

Learn How to Use the Alias Command in Linux.

Check out our How to Add a Network Location in Windows 10 tutorial.

View our How to Setup a FTP Server with FileZilla in Windows tutorial.

Learn more cool things in Windows with our Windows Tutorials.

View all of our available online utilities and converters at Formatswap.com.

The Essential Visual Studio Code Extensions to Install for Web Devs

vs code splash image

Visual Studio Code was first released in the spring of 2015. It has quickly grown to become the most popular IDE on the market. It reached this status by aiming to provide just the tools a developer needs without the code-build-debug cycle found in Visual Studio IDE. Whether you are a professional programmer, or a student just getting started, you will enjoy using the IDE.

VS Code is a great development editor out of the box, but you can make it better with the wide variety of extensions available. VS Code extensions allow you to add additional operations to the editor. We have compiled a list of five of the best VS Code extensions to install for web development. The best place to find and download new extensions is the VS Code Marketplace. Using these extensions will improve efficiency and code accuracy.

Download the Visual Studio Code IDE

1. PHP Server

This extension allows you to host / serve your current workspace with PHP. You will be able to run your website or applications code as if it were on the server. Using this extension you are able to save time by avoiding copying files to a web server. All of this is done with a click of a button. Optionally you are able to configure the extension to automatically start the web server when VS Code is opened. This is a must have extension for PHP developers.

Download PHP Server

2. Live Sass Compiler

With Live Sass Compiler you are able to compile your sass code on the fly. Simply enable the extension and save your current sass file. Once saved the extension will automatically compile the sass into CSS. This extension will greatly improve your styling workflow. Live Sass Compiler is very helpful if you are working on multiple SCSS files at the same time. It will automatically compile all of them with each save. The extension will greatly speed up the styling of your websites and applications.

Download Live Sass Compiler

3. Better Comments

The extension Better Comments allows you to write cleaner and more efficient comments. Using the extension you are able to categorize your annotations into multiple categories. You are also able to individually stylize commented out code sections. This will allow you to know if it should or should not be there. Better Comments also helps when you are working on a project with other people. The readability of the comments will help you to collaborate on projects with others. This extension keeps your projects clean and highly readable.

Download Better Comments

4. Prettier

Prettier is a code formatter that enforces a consistent style throughout your project. It takes your code, parses it with its rule set, and then reprints it. It will take the maximum line length into account and wrap lines where necessary. Prettier supports Javascript, Typescript, Flow, JSX, JSON, SCSS, HTML, and many other common web development languages. The extension is highly customizable via the config file. You can customize the formatting rules to your liking. You will save a lot of time with the extension taking care of all your formatting. This will let you focus on writing good code.

Download Prettier

5. Random Everything

Finally I would recommend you try the Random Everything extension. This extension will allow you to generate random test data. It supports random floats, strings, ints, words, and more. One of the main features is the generation of Lorem Lipsum text with custom lengths. You can also configure it to do random dates and times. Random Everything also allows generation of phone numbers with custom formats. With this extension you can forget using online text generator tools.

Download Random Everything

Questions?

If you have any questions or comments feel free to leave them below.

Related Resources

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Create a Mapped Network Drive in Windows 10.

Click here to learn How to Easily Create a Bootable Linux USB Drive using Rufus.

View our How to Mount an SMB (Samba) Share in Linux with cifs-utils tutorial.

Learn more cool things in Windows with our Windows Tutorials.

View all of our available online tools and converters at Formatswap.com.

How to Setup a FTP Server with FileZilla in Windows

How to Setup a FTP Server with FileZilla in Windows

In this tutorial you will learn how to install a FTP server in Windows 10. However the same process will apply to Windows 7, Windows 11, and Windows Server 2008/2012. We will be using the FileZilla Server to set up the FTP service. FileZilla is by far the easiest FTP server application to set up and configure. One of the main benefits to setting up an FTP server is the ability to easily share files with others. It is useful anytime you want to transfer files from your computer to a server or vise versa. An FTP server is one of the most crucial tool to install on your servers.

Download FileZilla Server

download filezilla server

The first step will be downloading the FileZilla server installer. Navigate to the download page and download the latest release.

Download FileZilla

Launch the Installer

accept agreement

Now open the installer executable and follow the prompts.

Choose Installation Settings

set a default admin password

Once you get to this screen of the installer you will need to type an administrator password. You can also change the port that the admin interface runs on from this screen. You can use the default options for the rest of the process.

Installation Completed

filezilla server install finished

When this screen opens you have successfully completed the installation of FileZilla Server. Close the installer.

Connect to the Admin Interface

click connect

The administration interface will open once you have closed the installer. Click “Connect to the FileZilla FTP Server” to get started.

Input Connection Information

connect to ftp server

Type in the administration password that you entered during the installation. Then click on OK to continue.

Verify Server Fingerprint

verify fingerprint

You will be asked to verify the certificate fingerprint since it is the first time you have opened it. Click “Yes” to verify.

Admin Interface Started

admin interface connected

Afterwards you will be connected to the FileZilla FTP Server administrator interface. We now have to configure our users.

Open FTP Server Configuration

open filezilla server configuration

Click on “Server” in the top left corner and then click “Configure…”. This will open the server configuration screen.

Navigate to the Users Screen

navigate to users

Once the server configuration opens, click on the “Users” row in the left column.

Add a New User

create a ftp user account

Next click on the “Add” button in the middle column to add a new user.

Configure the User and Mount Points

add ftp user details

Type in a name for the new user. Then you will need to fill in a few fields in the left column. Type a password for the user, then set a “Virtual path” and a “Native path”. The virtual path can be anything you want. I recommend just forward slash. The Native path is the directory on the server which you want users to be able to read and write from. In my example I am using the “C:\” path to share the whole computer. Set this to any directory you wish. Once you click “Apply” and “OK” you will be done configuring the FTP server.

Open Windows Defender Firewall

search for firewall

The next step is to configure the Windows Defender Firewall. Open the start menu and search for “firewall”. Then open the “Windows Defender Firewall with Advanced Security” application.

Navigate to Inbound Rules

navigate to inbound firewall rules

Once it has opened navigate to the “Inbound rules” by clicking on it in the left side column.

Create a New Inbound rule

add a new firewall rule

Next click on the “New Rule…” button in the right side column.

Choose the Firewall Rule Type

select program from list

Now you will be asked which type of firewall rule you would like to create. Select the “Program” option from the list.

Select a Program Path

click browse

Click on the “This program path” radio button, then click “Browse…”.

Select the Program to Allow

select filezilla server

Navigate to the FileZilla Server installation folder. It is usually located at “C:\Program Files\FileZilla Server”. Once you find the folder click on the “filezilla-server” executable, then click the “Open” button.

Choose the Firewall Rules Action

set firewall to allow connection

Next select the “Allow the connection” radio button. Then click the “Next” button.

Select Profile Rules

set firewall profile

You can use the default settings on this screen. Click the “Next” button.

Select a Name for the Firewall Rule

set a name for firewall rule

Finally type in a name for the firewall rule. This can be anything you would like.

Open the FileZilla Site Manager

click site manager

At this point everything should be configured properly. We can now test the FTP connection. Open FileZilla (Client), then click on the “Site Manager” button in the upper left hand corner.

Add a New Site

add a new site to site manager

Click on the “New site” button. You will then be asked to type a name for it. Next type in the IP address for the server in the “Host” box. You can find the IP by opening a command prompt on the server and typing “ipconfig”. Afterwards type in the username and password you created earlier for the new user. Now click on the “Connect” button.

Verify TLS Certificate

accept cert for ftp

Since this is the first time connecting to the server it will ask us to verify the TLS certificate. Check the box to “always trust this certificate”, then click the “OK” button.

FTP Server Test Successful

ftp connection worked

If all the steps were followed correctly you should now be connected to your new FTP server. You can test that it is working properly by copying a file to the server. If you want to access the server outside of your local network you will need to port forward the IP address of the server on port 22. The instructions for this vary depending on the model of your router. You should be able to find a good tutorial by Googling “YOUR ROUTER NAME port forwarding guide”. See are other articles below for additional server related tutorials.

Questions?

If you have any questions or comments feel free to leave them below.

Related Resources

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Permanently Disable Windows Defender.

Check out How to Setup OpenSSH with Keys on Ubuntu 22.04.

View our How to Mount an SMB (Samba) Share in Linux with cifs-utils tutorial.

Learn How to Create a Mapped Network Drive in Windows 10.

View all of our available online tools and converters at Formatswap.com.

How to Setup OpenSSH with Keys on Ubuntu 22.04

ssh key splash

In this tutorial you will learn how to setup a SSH server to use a public key pair on Ubuntu. SSH is a secure protocol used for remotely administrating servers. We will be using OpenSSH to setup the server. SSH servers are great as they allow you to easily remote into any machine and execute commands. With public key authentication you get robust security. It is generally recommended that all users running an SSH server should enable key based authentication. You also don’t have to remember passwords when using key based authentication. For this tutorial we will be using Ubuntu 22.04 server, but you should be able to use any Linux operating system.

Generate Key Pair

generate key pair

The first step is to generate a key pair on your client machine. Type “ssh-keygen” and press “Enter”. If you get an error you may have to install the Openssh server as shown below.

sudo apt install openssh-server

Select Key Save Location

select key save file location

Next you will be asked to choose a save location for the key. Press “Enter” to use the default, or type a path and filename for the key.

Set a Key Password (optional)

select password

You will then be asked if you want to set a key on the password. This improves security but will require you to enter the password every time you connect to the SSH server. Either type a password or press the “Enter” key twice to not use a password.

Key Generated Successfully

key generated

Now you will see a message telling you that the key pair has been generated successfully. It will also list the fingerprint and the save location for the key.

Copying Public Key

copy the public key

Next we will copy the newly created key to your SSH server. Type in the following command to copy the key.

ssh-copy-id username@ssh-server-ipaddress

Enter the SSH Users Password

optionally select password for key

The server will then ask you to type in the password for the SSH user. Additionally if you set up a password on the key pair, you will also be prompted to type that.

Keys Successfully Added

keys added message

After typing your credentials you will be shown a screen telling you that the key has been successfully added.

SSH into the Server

ssh into the server

Now that the key has been added to the SSH server we need to connect back to the server. Connect to it using the SSH command as shown above.

Edit the OpenSSH Config File

edit the openssh config

Once you are connected to the server you will need to edit a file. Open the sshd_config file using the nano text editor.

sudo nano /etc/ssh/sshd_config

Disable Password Authentication

disable password authentication

Now that the file is open, use “Ctrl+W” to search for the line “PasswordAuthentication”. Once you locate the line change it from “PasswordAuthentication yes” to “PasswordAuthentication no”. This will cause the SSH server to only log you in using your key.

Save OpenSSH Config File

save openssh config

Next simply press “Ctrl+x” then the “Y” key to save the config file.

Restart OpenSSH Server

restart openssh server

Finally we will need to restart the ssh service on the server. Run the following command to complete this action.

sudo systemctl restart ssh

After the SSH service restarts, you will need to disconnect from the SSH server.

Test the SSH Connection

test ssh connection

Now we will test that we are able to login to the SSH server using our key pair. Simply try to reconnect to the SSH server. You will be automatically logged in if you don’t have a password on the key pair. Else you will need to enter the password you created for the key.

OpenSSH with a Key Pair is Enabled

successful key ssh

If you are able to connect to the SSH server then you have successfully setup a key for OpenSSH. Remember to keep the key pair in a secure location. Anyone with access to it would be able to login to your server.

SFTP Server (optional)

You can also enable secure file transfer with SFTP using OpenSSH. If you would like to activate the server view our How to Setup an SFTP Server on Ubuntu 22.04 using OpenSSH tutorial.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our list of The Top 10 Programming Languages to Learn in 2022.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Click here to learn How to Install MySQL on Ubuntu Server 22.04 LTS.

View all of our Linux Articles and Tutorials.

Learn How to install and configure Nginx – Ubuntu 20.04.

View all of our available online tools and converters at Formatswap.com.

How to install Kali Linux 2022.3 [step by step]

install kali splash image

In this tutorial you will learn how to install the Debian based Kali Linux operating system. Kali is designed for digital forensics as well as penetration testing. Kali is very useful to have installed if you are currently in or entering into the cyber security field. One of the main benefits of Kali Linux are its approximately 600 penetration testing tools preinstalled.

Download Latest Kali Version

The first step is to download the latest version of Kali Linux from the official website.

Download Kali Linux 2022.3

Boot USB or Select ISO

kali install screen

Next you will need to make a bootable USB drive using the Kali ISO file. You can read this tutorial on creating a bootable Linux USB drive using Rufus to learn more. After you create the bootable Kali USB drive, insert it into your computer and select the USB at boot. If you are using a virtual machine, simply select the Kali ISO as your boot device. Once you are booted into the installer, select “Graphical Install”.

Select System Language

kali select language

Now you will select the language you would like to use.

Select Location

select location

Next select your location.

Select Keyboard Layout

select keyboard layout

Afterwards you will need to select a keyboard layout.

Choose Hostname

choose a hostname

Now you will choose a hostname for the installation. You can enter any name you would like into the box.

Enter Domain Name (optional)

enter a domain name

The next step is to select a domain name. This step is optional, and usually unused. So I will be skipping it.

Set Account Name

set up accouont

Now you will enter the full name for the new user, afterwards press the “Continue” button.

Enter a Username

choose a username

Next you will need to set the username for the account. Enter it into the box and then press “Continue”.

Choose a Password

choose a password

After setting the username you will need to create a password for the new user. Enter the password and confirmation password.

Select the Timezone

select a timezone

Now you will set the system timezone. This will set the clocks to the correct time.

Set Partitioning Method

partition the disks

Next you will choose from four different partitioning schemes. Select “Guided – use entire disk” unless you want to encrypt the disk, then press “Continue”.

Select the Disk for Installation

select hdd

Now the installer will ask you which disk you would like to install Kali onto. (note, all data will be deleted from the selected device)

Choose Partition Scheme

partition scheme

The installer will then ask if you would like a separate home partition, or all files in the same partition. I recommend new users choose the all files in one partition option.

Confirm Partition Changes

finish partitioning

Now you will be shown a overview of the changes that are due to take place. Look them over then press “Finish partitioning and write changes”.

Confirm Write Changes

confirm write changes

You will then be prompted with a confirmation asking if you want to write the changes to the disk. Click “Continue”.

Wait for the Base System to Install

install base system

Wait for the base system to finish installing. This can take a while depending on the performance of your computer.

Software Selection

select kali software to install

Now you will be asked which desktop environment you want. As well as what software you would like installed. I recommend keeping all options to default as displayed in the above screenshot.

Install Grub

install grub bootloader kali

You will then receive a prompt asking you if you would like to install the Grub boot loader. Select the Yes checkbox and press “Continue”.

Select Grub Device

select a grub device

Now you will need to select which device to install Grub onto. Select the /dev/x device and then “Continue”.

Reboot the System

reboot kali system

Once you see this screen you are almost ready to begin using Kali. Simply remove your installation media and reboot the system.

Installation Complete

test login to kali

Once the system has rebooted you will see the login screen. You have now completed the installation of Kali 2022.3. Enter the credentials that you created earlier to start using Kali.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our 5 Reasons to Switch from Windows 10 to Linux.

Learn How to Create a Mapped Network Drive in Windows 10.

Click here to learn How to Easily Create a Bootable Linux USB Drive using Rufus.

View our OS Installs Category.

Learn more cool things in Windows with our Windows Tutorials.

View all of our available online tools and converters at Formatswap.com.