Smallstep provides a growing comprehensive list of the most common problems when registering a host or when a client is attempting to connect to registered SSH hosts.
SSH via Smallstep is generally successful without changes. However, some factors and configurations can generate errors that need resolving.
The most common errors and resolutions are documented in our Smallstep SSH Professional Quick Start Guide.
The following problems are less likely to occur but have been encountered.
Related to | Error Message | Possible Causes | Possible Fix/Resolution |
Client Access | Too many authentication failures. |
This error is not related to Smallstep SSH Pro, but rather SSH itself. When SSH attempts to connect to a host it runs through each of the keys it has a record for. Linux systems typically have a configuration parameter in /etc/ssh/sshd_config called, "MaxAuthTries" which dictates how many key iterations it should make before throwing this error message. That max can be changed, but |
There are multiple approaches to resolving this, depending on the operating system. |
Host Registration | error getting authority data: authority not found (when registering a host) | The values for the installation script's parameter arguments may contain incorrect characters or are not properly formatted or parsable. |
Check the part of the host registration command for the following:
|
Client Access | Permission denied (publickey) |
This error is vague and requires a more detailed examination of the customer's setup.
|
If host registrations have been made, make sure that each client runs `step ssh logout` followed by `step ssh config --team [your_team_name] and finally `step ssh login`. If you're unable to add or complete the setup for an OIDC Provisioner, make sure you're on a Teams or Enterprise Plan and make sure you've provided payment information and haven't skipped that stage. |
Host Registration | "nc: command not found" | A required `nc` (netcat) package is not installed on the host. | Install the `nc` package on the host and retry. |
Host Registration and Client Access | Permission denied (publickey). kex_exchange_identification: Connection closed by remote host Connection closed by UNKNOWN port 65535 |
This error is vague and requires a more detailed examination of the customer's setup. |
|
Client Access | "permission denied (publickey)" when running `ssh ssh-test.app.smallstep.com` | Possible unstable client configuration state. |
Reinitialize the client side:
|
Client Access |
`step ssh hosts` only returns the Smallstep SSH test host `step ssh hosts` returns the Smallstep test SSH host (ssh-test.app.smallstep.com) and nothing else. The user expected at least one SSH host that they're permitted to access. |
|
SSH Host Tags are required to map access to Smallstep SSH user groups. Ensure you have a tag for the Host to map to Smallstep SSH user groups. Also, check the Smallstep SSH user group configuration to ensure its Tag matches the desired SSH Host Tag(s). Also, check that the user belongs to a Smallstep SSH user group that they should. ℹ️ For more detailed instructions, follow along with the Smallstep Tag documentation here. |
Host Registration and Client Access |
TOFU (Trust on First Use) warning when connecting via SSH to the IP of a hostname registered in Smallstep. For example, below is a hostname, not an IP. If a user runs SSH to the IP of the hostname, it will not assume certificate authentication and will throw a TOFU warning:
|
|
|
Client Access |
When running `step ssh config --team [team]` they get, "The request lacked necessary authorization to be completed. |
The account plan type might be listed as "Free" and requires a Teams or Enterprise plan. **Note that if you exit the setup of your IdP for OIDC connections and didn't complete the credit card portion, you may get this error. |
Make sure the Dashboard's account plan is Teams or Enterprise. Also, make sure there's a payment method set up under the Billing menu in settings. If not, add a payment method and have the client run the configuration again. |
Host Registration |
When running host installation, you get "The request lacked necessary authorization to be completed."
|
Often this is a lack of authorization on the host operating system, or the Enrollment Token wasn't correct. |
|
Host Registration |
Google Cloud Platform (GCP) only: |
Chances are, the host has already been registered and thus configured for Smallstep Certificates. The problem is, GCP VMs initially use SSH keys to allow a web-based SSH session, which subsequently breaks when you register a host for SSH. You can still connect to the VM using a serial console if it's enabled. |
|
Client Access |
Users SSH's to a host but it gets hung up. Using vvv it hangs up as follows, and eventually connection times out |
|
|
Host Registration |
open /etc/ssh/ssh_host_ecdsa_key.pub failed: no such file or directory |
SSH is not installed, or the service not running. | Check that SSH is installed and that the service is running. |