How to Install Sish on Fedora Server Latest

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.

Requirements

Before we start, ensure that you have the following prerequisites:

Installing Sish

  1. First, open a terminal or connect to your Fedora Server via SSH.

  2. Update your system packages by running:

    sudo dnf update
    
  3. Install the required dependencies:

    sudo dnf install wget gcc make
    
  4. 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
    
  5. Move the downloaded binary file to the /usr/local/bin directory:

    sudo mv sish-linux-amd64 /usr/local/bin/sish
    
  6. Make the binary file executable:

    sudo chmod +x /usr/local/bin/sish
    

Configuring Sish

Now that we have installed sish, let's set up a basic configuration.

  1. Create a new user for sish:

    sudo useradd --system --no-create-home sish
    
  2. Create a new configuration file for sish:

    sudo touch /etc/sish/config.yaml
    
  3. Open the configuration file with your favorite text editor:

    sudo nano /etc/sish/config.yaml
    
  4. 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).

  5. Save and close the file.

Running Sish

Now that we have set up the configuration file, we can start sish.

  1. Start sish as a background process:

    sudo sish -config /etc/sish/config.yaml -syslog &
    
  2. 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.

Connecting to Sish

Now that sish is running, we can connect to it through an SSH client.

  1. Open your preferred SSH client, such as PuTTY or OpenSSH.

  2. Enter the IP address or hostname of your Fedora Server and the port number 22.

  3. Attempt to SSH into the server.

  4. 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!

Conclusion

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!