SSHDog SSH server for TrollStore on iOS 15

Kuba Pawlakqbap | Research
SSHDog

When you will jailbreak your device, all popular tools allow you to install OpenSSH server running in the background. Unfortunately, OpenSSH will not work on non-jailbroken devices, but there is an alternative fast SSH server released for TrollStore and iOS 15.

What is SSHDog?

SSHDog is a lightweight SSH server allowing you to run on non-jailbroken device compatible with TrollStore installed on A12+ iOS 15 devices. NyaMisty adapted a dropbear-like small SSH server to support posix_spawn replacement for fork() to make it run with TrollStore.

It aims to be a portable SSH server that you can drop on iOS and use for remote access without any additional configuration. SSHDog features configure port, host key, authorized keys, pubkey authentication (no passwords),port forwarding, and SCP support (but without SFTP).

SSHDog SSH server for TrollStore was forked from SSHDog created by David Tomaschik. You can use this server for tech support, backup SSHD, or authenticated remote bind shells. It offers only basic features, but someone may find it useful.

Two iPhone screens showing sshdog ssh server running on iOS 15.

SSHDog SSH server was released as an open source project under Apache-2.0 license, with all files published through GitHub Repository. This small portable SSH server was written 100% in Go language. Feel free to fork the project and modify the code or participate in development.

How to run sshdog on iOS

SSHDog was released as an iOS executable that compiled by the developer. To run the SSHDog SSH server on your iPhone, it's required to use Filza File Manager's terminal with some additional commands. Once done, you will be able to connect to the device from your PC.

  1. Install Filza for TrollStore on iOS 15.
  2. Open Filza app from the Home Screen.
  3. Create an empty file by taping Edit → More → New file.
  4. Name the file terminal.sh.
  5. Download sshdog executable and save it on iCloud.
  6. Share the sshdog file with Filza and save it to Documents.
  7. Set the file permission to 0777 for both files (Info icon → Access permission → Owner).
  8. Open the terminal.sh file to access Filza fish shell.

Compatibility: iOS 15.0 – iOS 15.4.1, iOS 15.5 beta 1 – iOS 15.5 beta 4, iOS 15.6 beta 1 – 15.6 beta 5. No other firmware releases are or will be supported. No support for iOS 15.5 Final, no support for iOS 15.6 Final, and no support for iOS 16 and future releases.

Now you have access to the terminal app included with Filza File Manager on iOS. To run the terminal, simply open the termianl.sh file with Filza. Let's set a password and port configuration files for our server. You can also do it without command line with Filza GUI.

Two iPhone screens showing SSHDog SSH server and config folder in Filza app on iOS 15.

Step 1. Create a folder named config.

mkdir config

Step 2. Create a password file inside config with value alpine. This will be our password.

echo -n alpine > config/password

Step 3. Create a port file in config folder with value 22. This will be the required port to connect.

echo -n 22 > config/port

Step 4. Create authorized_keys file and set your SSH RSA key in the config folder.

echo -n "[your ssh-rsa key]" > config/authorized_keys

Example usage of ssh-keygen to generate an RSA key.

ssh-keygen -t rsa -b 2048 -N '' -f config/ssh_host_rsa_key

Step 5. Run the SSHDog SSH server on your iPhone by opening the app.

./sshdog

When the server will run correctly, it will set the authentication password, listen for connection on port 22, and display logs when a connection with your iPhone is established.

Example log:

[DEBUG] Adding hostkey file: ssh_host_rsa_key
[DEBUG] Adding authorized_keys.
[DEBUG] Setting auth password.
[DEBUG] Listening on :22
[DEBUG] Waiting for shutdown.
[DEBUG] select...

What's new

  • Updated SSHDog to version 1.1.
  • Better support for logging.
  • Support password auth.
  • Run in TrollStore on A12+ iOS 15.2+ devices.
  • Added support for Filza's fish shell.
  • Initial release.

Comments

  • Alireza

    Alireza4 days ago

    Hello, good time, I want to run sshdog on iphone x ~ ios 15.1 with troll, but I can't do step 4, it doesn't find SSH RSA to create, thank you for your help

    • qbap

      qbap3 days ago

      You must generate a certificate:

      ssh-keygen -t rsa -b 2048 -N '' -f config/ssh_host_rsa_key

      and copy the key to on your iPhone:

      cp ~/.ssh/id_rsa.pub config/authorized_keys

Post a comment