In this tutorial, we will learn how to install and configure sish, a Linux and macOS command-line tool that allows users to create SSH tunnels and expose local servers publicly, on a Fedora Server Latest system.
Before we start, ensure that you have the following prerequisites:
First, open a terminal or connect to your Fedora Server via SSH.
Update your system packages by running:
sudo dnf update
Install the required dependencies:
sudo dnf install wget gcc make
Download the latest sish release from https://github.com/antoniomika/sish/releases, replacing VERSION
with the latest version number:
wget https://github.com/antoniomika/sish/releases/download/vVERSION/sish-linux-amd64
Move the downloaded binary file to the /usr/local/bin
directory:
sudo mv sish-linux-amd64 /usr/local/bin/sish
Make the binary file executable:
sudo chmod +x /usr/local/bin/sish
Now that we have installed sish, let's set up a basic configuration.
Create a new user for sish:
sudo useradd --system --no-create-home sish
Create a new configuration file for sish:
sudo touch /etc/sish/config.yaml
Open the configuration file with your favorite text editor:
sudo nano /etc/sish/config.yaml
Paste the following configuration:
listen: "0.0.0.0:22"
uplinks:
- "tcp://127.0.0.1:22"
This configuration tells sish to listen on port 22
(the default SSH port) for incoming connections and to forward them to the localhost:22
(the default SSH server on the same machine).
Save and close the file.
Now that we have set up the configuration file, we can start sish.
Start sish as a background process:
sudo sish -config /etc/sish/config.yaml -syslog &
Verify that sish is running:
sudo systemctl status sish
This command should output something like:
● sish.service - sish proxy service
Loaded: loaded (/usr/lib/systemd/system/sish.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2022-11-15 13:22:49 EST; 5s ago
Main PID: 1234 (sish)
Tasks: 7 (limit: 33099)
Memory: 2.2M
CGroup: /system.slice/sish.service
└─1234 /usr/local/bin/sish -config /etc/sish/config.yaml -syslog
Nov 15 13:22:49 fedora systemd[1]: Started sish proxy service.
If the Active
status is active (running)
, sish is running correctly.
Now that sish is running, we can connect to it through an SSH client.
Open your preferred SSH client, such as PuTTY or OpenSSH.
Enter the IP address or hostname of your Fedora Server and the port number 22
.
Attempt to SSH into the server.
Verify that you can successfully connect, and that your traffic is being proxied through sish:
$ ssh user@hostname
Welcome to Fedora 35 (Server Edition)!
This is a private system for authorized use only.
Unauthorized access or use may result in disciplinary action and civil and criminal penalties.
[user@fedora ~]$
Congratulations, you have successfully set up and connected to sish!
In this tutorial, we learned how to install and configure sish on a Fedora Server Latest system. We covered the basics of creating a sish user, configuring a sish configuration file, and starting the sish process. We also demonstrated how to connect to sish using an SSH client. Now, you can use sish to securely expose local servers publicly or connect to remote servers securely through an SSH tunnel.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!