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
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
*.formant
~/.ssh/config
entryOpen ~/.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].