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.)
Quick Connect to Your Jailbroken iOS Device
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.)
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.
You will see the
iPhone:~ root#
prompt once your computer is connected.When you are finished, press Ctrl+D or type
exit
to disconnect from the virtual device and return to your local computer.
Quick Connect to Your Android Device
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.)
Copy the
adb connect localhost:5001
command and run it in Terminal or PowerShell.Use
adb devices
to confirm you are connected to your Android virtual device. You should see a response showing that localhost:5001 is attached.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
.Confirm you are disconnected using
adb devices
. You should see that the localhost:5001 device is no longer listed.
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:
Error with Android devices:
Remote Host Identification Has Changed
If you delete a device and create a new one, Corellium's controller might reuse the same IP address.
If this happens, you will see a message warning that the IP's fingerprint has changed and that "someone may be eavesdropping on you."
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 usesed -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_hostsRetry the SSH command and approve the new host fingerprint.
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.
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.