Skip to main content

Quick Connect

Corellium's Quick Connect feature allows you to connect to your virtual devices and use features like adb or network monitor without requiring a VPN connection.

This “Quick Connect” feature uses standard SSH, which comes pre-installed on Mac, Windows, and Linux.

No more downloading a VPN client and installing the .ovpn profile to gain root access!

Note About Your Network Firewall Configuration

Your network firewall must allow outbound connections on Port 22 to Corellium's proxy server.

You can find the address for the proxy server in the SSH -J ... or SSH -M ... command under your device's "Connect -> Quick Connect" section (for example proxy.corellium.com).

REQUIRED STEP: Set Up Your SSH Keys

Follow our Add SSH Keys to Your Projects and Devices article to set up SSH authentication keys in ed25519 format on your local computer and your Corellium virtual devices.

Note: As an advanced option, if you normally use a “named” ssh file key, as opposed to using the default filename id_ed25519 detailed in this article, you need to specify the IndentityFile in your ~/.ssh/config. (The associated public key also needs to be added to your Corellium project.)

private key

Quick Connect to Your Jailbroken iOS Device

  1. Find Quick Connect at the top of the Connect tab on your jailbroken iOS device. Copy the ssh -J ... command and run it in Terminal or PowerShell.

    (ATTENTION: if you see a Permission denied (publickey) error followed by key_exchange_identification: Connection closed by remote host, please to the troubleshooting section lower down the page.)

    Copy the SSH command

  2. The first time you connect, you will need to confirm the ECDSA key fingerprints. Type yes when asked about connecting to the proxy server (for example proxy.corellium.com or proxy.enterprise.corellium.com) and to your specific device (for example 10.11.1.1). This step only happens once.

    Approve fingerprint

  3. You will see the iPhone:~ root# prompt once your computer is connected.

    root connection

  4. When you are finished, press Ctrl+D or type exit to disconnect from the virtual device and return to your local computer.

    exit from the root

Quick Connect to Your Android Device

  1. On your Android virtual device, find Quick Connect at the top of the Connect tab. Copy the ssh -M ... command and run it in Terminal or PowerShell.

    (ATTENTION: if you see a Permission denied (publickey) error, please refer to the troubleshooting section.)

    Android quick connect command

  2. Copy the adb connect localhost:5001 command and run it in Terminal or PowerShell.

    Copy the ADB Command

  3. Use adb devices to confirm you are connected to your Android virtual device. You should see a response showing that localhost:5001 is attached.

    ADB list devices command

  4. When you are finished, copy the third command and paste it into Terminal or PowerShell to close the SSH sock. You should see Exit request sent.

    SSH sock command

  5. Confirm you are disconnected using adb devices. You should see that the localhost:5001 device is no longer listed.

    Disconnected from device

Troubleshooting

We have compiled some errors you might see during the Quick Connect process.

Permission Denied Error

If you see an error saying Permission denied (publickey), your public key is not properly configured on your project or the device.

You will see this error for several reasons.

  • Your SSH key is not in ed25519 format.
  • You haven't added the public key to your project.
  • You didn't add the public key to your project before creating the iOS device.
  • You need to specify an IdentifyFile for the Corellium proxy server in ~/.ssh/config.

Please follow the steps in our Add SSH Keys to your Projects and Devices article.

Error with iOS devices: iOS Key Error

Error with Android devices: Android Key Error

Remote Host Identification Has Changed

If you delete a device and create a new one, Corellium's controller might reuse the same IP address. remote host changed

If this happens, you will see a message warning that the IP's fingerprint has changed and that "someone may be eavesdropping on you."

  1. Delete the offending record from your known_hosts file. (In our example, we can see in the screenshot that the offending RSA key is in line 2, so we would use sed -i "" '2d' ~/.ssh/known_hosts.)

    # backup your known_hosts file
    cp ~/.ssh/known_hosts ~/.ssh/known_hosts_backup

    # replace # with the appropriate line number
    sed -i "" '#d' ~/.ssh/known_hosts
  2. Retry the SSH command and approve the new host fingerprint.

  3. Remove the backup file once you confirm the connection works.

    rm ~/.ssh/known_hosts_backup

Android adb Command Not Found

If you see an error that the adb command is not found, you need to install the android-platform-tools package.

adb not found

On macOS, install adb using Brew.

brew install android-platform-tools

On Ubuntu, install adb using the appropriate utility.

sudo apt install android-sdk-platform-tools

Android Address Already in Use

You may see an Address already in use error when running the ssh -M ... command for Android devices.

This error occurs when you attempt to open a connection that is already opened.

Connect to your device using the adb connect localhost:5001 command or close the connection using the ssh -Ssock ... command.

My iOS Device Doesn't Show a Quick Connect Section

If you can't find the Quick Connect section in the Connect tab, check the following:

  • Verify that you are running Corellium version 3.11 or later. To find your current version, click Admin in the top menu and look towards the top-right.
  • Verify that you are running either a jailbroken iOS device or a rooted Android device.
  • Verify that the device is currently turned on.