Troubleshooting fctl

If you're having trouble making an SSH connection to your device via fctl, try the following steps:

Ensure SSH is enabled

There are two places where SSH can be enabled and disabled. Make sure that both configurations enable SSH to successfully establish a connection.

By default, SSH is enabled on new devices in Formant in both of the following locations:

Web app configuration

926

Settings >> Devices >> General >> SSH and Port Forwarding

Formant agent configuration

Run the following command to enable SSH on Linux robots:

echo formant-agent formant-agent/port_forwarding boolean "true" | sudo debconf-set-selections

Run the following command to disable SSH on Linux robots:

Disabling SSH on Linux robots:

echo formant-agent formant-agent/port_forwarding boolean "false" | sudo debconf-set-selections

SSH configuration file

Check your ~/.ssh/config file for the following lines:

Mac/Linux

Host *.formant
        ProxyCommand fctl port-forward $(echo %h | sed "s/\.formant$//") -r 127.0.0.1 -p %p

Docker

Host *.formant
        ProxyCommand docker run -i -a stderr -a stdin -a stdout --rm -v <permanent_storage>:/root/.formant formant/fctl port-forward $(echo %h | sed "s/\.formant$//") -r 127.0.0.1 -p %p

Replace <permanent_storage> with a mount path on your local host system, and fill in your admin credentials.

This attaches STDIN, STDOUT, and STDERR to the container which is necessary for SSH ProxyCommand, as well as removing the container with --rm when exiting.

Run SSH with verbose logs

Running SSH with -vvv will produce additional logs which may be helpful for debugging purposes. For example:

ssh -vvv mybot.formant

Verify teleop connectivity

The connection process for SSH over fctl is similar to the teleop connection process. First, go through the Teleop connectivity document and verify that the Twilio network test (https://networktest.twilio.com/) passes and the specified ports and domains are open.

Verify SSH daemon is running

Try to establish an SSH connection through another application.

Verify *.formant ~/.ssh/config entry

Open ~/.ssh/config. Verify that there is an entry that reads:

Host *.formant
	ProxyCommand fctl port-forward $(echo %h | sed s/\.formant$//) -r 127.0.0.1 -p %p

Contact Formant support

If you're still having trouble connecting to your device via fctl, generate verbose SSH logs, as well as agent logs, and reach out to our Customer Success team. You can reach our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].

👋

If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].