NetStacksNetStacks

SSH Passwords & Keys

Store SSH passwords, private keys, passphrases and enable secrets in NetStacks: credential profiles in the standalone Terminal and profile secrets on the Controller.

Overview

Both NetStacks modes store SSH logins on a profile, a reusable bundle of username, authentication, and connection defaults that many devices can share. The profile looks different in each mode:

Standalone TerminalController (enterprise)
Where you manage itTerminal → Settings → ProfilesAdmin console → Access & Secrets → Profiles
Auth optionsPassword or Public Key (key file path + optional passphrase)password, ssh_key (pasted private key + optional passphrase), or certificate, plus an optional enable secret
Where the private key livesStays in its file on your disk; only the path is savedStored encrypted in the Controller vault
Who makes the SSH connectionYour computerThe Controller; your client never receives the secret

Standalone: Credential Profiles

In the standalone Terminal, every saved session must use a credential profile, and all of its authentication settings come from that profile. The profile's password and key passphrase are encrypted in the local vault.

Screenshots

Settings → Profiles exists only in the standalone desktop app, so this part is described in text. The Controller section below has screenshots.

Creating a Profile

  1. Open Settings → Profiles. Existing profiles are listed with their username, port, and a Password or Key badge. The first profile is marked Default.
  2. Click Create Profile. The New Profile dialog opens.
  3. Under Profile Identity, enter a Profile Name (for example Cisco Production) and the Username.
  4. Under Authentication, choose an Auth Type:
    • Password: enter the Password.
    • Public Key: enter the Key File Path (for example ~/.ssh/id_ed25519), and a Key Passphrase (optional) if the key is encrypted.
  5. Adjust the optional sections (listed below), then click Save.

Each profile has Edit, Clone, and Delete buttons. When you edit a profile, leave the password or passphrase field blank to keep the stored value.

Profile Fields

SectionFields
Profile IdentityProfile Name, Username
AuthenticationAuth Type (Password / Public Key), Password, Key File Path, Key Passphrase
Connection SettingsDefault Port (22), Keepalive Interval (30 s), Connection Timeout (30 s), Default Jump (a Jump Host or another session; default (None — direct connect))
BehaviorAuto-Reconnect, Reconnect Delay, Scrollback Lines, Local Echo, CLI Flavor
DisplayTerminal Theme, Font Family, Font Size
Auto Commands on ConnectCommands sent after login (for example terminal length 0)
SNMP Community StringsSNMPv2c communities, see SNMP Communities

Using a Profile for a Session

  • Saved session: in the New Session dialog, open the SSH tab (labelled Auth for Telnet) and pick a Credential Profile *. If you need a new one, click + Create Profile there.
  • Quick Connect (Cmd/Ctrl+Shift+Q): enter Host and Port, choose a Credential Profile *, and click Connect.
  • Console access through a terminal server has its own Terminal Server Credential Profile on the session's Console tab.

When you change a profile, every session that uses it picks up the change on its next connection.

How SSH Keys Are Handled

  • NetStacks reads the private key from the path you enter each time it connects. The key is not copied into the vault; only its passphrase is.
  • OpenSSH-format Ed25519, ECDSA, and RSA keys are supported. RSA keys sign with rsa-sha2-512 or rsa-sha2-256.
  • With Password auth, NetStacks also tries keyboard-interactive login for devices that need it.
  • NetStacks does not use ssh-agent, and the standalone Terminal does not support SSH certificate login. Certificates are a Controller feature (see SSH Certificates).

Controller: Password and Key Secrets Enterprise

On a Controller, logins are secrets stored on a Connection Profile. A profile can hold several secrets, each with a priority. The relevant secret types are:

  • password: a username and password. Telnet logins also use this type.
  • ssh_key: a username, the private key pasted in OpenSSH format (-----BEGIN OPENSSH PRIVATE KEY-----), and an optional Key passphrase.
  • certificate: no stored key at all. The Controller issues a short-lived SSH certificate at connect time (see SSH Certificates).

Password and key secrets can also carry an Enable / privileged secret for devices that need an enable password.

Adding a Password or Key Enterprise

You need the credentials.manage permission.

  1. Open Access & Secrets → Profiles and click Configure on the profile.
  2. Open the Secrets tab and click Add secret.
  3. Pick the Auth mode * (password or ssh_key) and set a Priority (lower is preferred).
  4. Enter the Username. Host and Port are optional.
  5. Paste the password or private key into Secret *. For a key, add the Key passphrase if it has one. Add an Enable / privileged secret if needed.
  6. Optionally set Expires, then click Create secret.
Add secret form with Auth mode ssh_key, Username, Host, Port, Secret (private key), Key passphrase, Enable / privileged secret and Expires fields

Secret material is encrypted on the server and never sent back to the browser. When you edit a secret, leave Secret blank to keep the stored value.

Which Secret Is Used Enterprise

For an SSH connection, the Controller considers the profile's SSH-capable secrets and picks the one with the lowest priority number. On a tie, certificate beats ssh_key, which beats password.

One secret per connection

Each connection uses exactly one secret. If the device rejects it, the connection fails; NetStacks does not move on to the next secret. Make sure the preferred secret works on every device that uses the profile, or split devices across profiles.

Connecting from the Terminal Enterprise

In the web terminal (/terminal/) or the desktop Terminal in enterprise mode, clicking a device opens Connect to <device>. Under Select Profile: the default is Device default (recommended), which uses the device's own profile. To override it for this connection, pick another profile you have access to and click Connect. Profiles are grouped under My Profiles, Shared, and Service, each labelled with its username and auth type.

Web terminal Connect dialog with the device host and a profile selector defaulting to the device's profile

If you do not pick a profile, the Controller uses the device's assigned profile, then your personal default connection profile. If neither exists, the connection fails with Device has no profile assigned and you have no default connection profile set. You can set your default in the Terminal under Settings → Account → My Profiles (see Connection Profiles).

Troubleshooting

Standalone: key authentication fails

  • Check that the Key File Path exists and points to the private key, not the .pub file.
  • If the key is encrypted, enter its passphrase on the profile.
  • Make sure the matching public key is in the device's authorized keys for that user.

Standalone: older devices will not negotiate

Turn on Legacy SSH Algorithms under Compatibility on the session's SSH tab.

Controller: "Access denied to device profile"

You need a use grant on the profile. Administrators also need a grant to connect with a shared profile.

Controller: login fails but the password is right

Check that a lower-priority (preferred) secret is not being chosen instead, for example an ssh_key at priority 0 ahead of the password you expect.