Connecting to Devices
Learn how to connect to network devices using SSH with various authentication methods.
Quick Connect
The fastest way to connect to a device is using Quick Connect. Press Cmd+Shift+N (Mac) or Ctrl+Shift+N (Windows/Linux) to open the Quick Connect dialog.
Basic Connection
- Enter the hostname or IP address
- Enter your username
- Select authentication method (password or key)
- Click Connect
Quick Connect Syntax
You can also type connection strings directly in the Quick Connect field:
# Basic connection
user@hostname
# With port
user@hostname:2222
# SSH URL format
ssh://user@hostname:22
# With jump host
user@hostname via jumpuser@jumphostSaved Sessions
Save frequently used connections as sessions for quick access. Sessions store all connection settings including authentication, terminal preferences, and auto-execute commands.
Creating a Session
- Connect to a device using Quick Connect
- Click the star icon in the tab, or right-click the tab and select Save Session
- Enter a name for the session
- Optionally organize into a folder
- Click Save
Organizing Sessions
Sessions can be organized into folders for easier management:
- Create folders to group related devices (by location, function, etc.)
- Drag and drop sessions between folders
- Use tags for cross-folder organization
- Search sessions by name, tag, or host
Session Sync (Enterprise)
When connected to a Controller, sessions can be synced across all your devices:
- Sessions are stored on the Controller
- Available on any Terminal connected to the Controller
- Credentials remain on the Controller (never synced to Terminal)
Use keyboard shortcuts Cmd+1 through Cmd+9 to quickly open your first 9 favorite sessions.
Authentication Methods
NetStacks supports multiple SSH authentication methods:
Password Authentication
Simple username/password authentication. The password can be:
- Entered each time you connect
- Saved in the session (encrypted locally)
- Retrieved from the Controller credential vault (Enterprise)
SSH Key Authentication
Use SSH private keys for authentication. Supported key types:
- RSA (2048, 4096 bits)
- ECDSA (256, 384, 521 bits)
- Ed25519 (recommended)
Keys can be stored locally or in the Controller credential vault.
# Generate a new SSH key (Ed25519 recommended)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Or RSA if Ed25519 is not supported
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"SSH Certificates (Enterprise)
When using the Controller, you can authenticate using SSH certificates instead of keys. This provides:
- Zero standing privileges - certificates expire automatically
- No need to distribute public keys to devices
- Centralized access control
- Audit trail of certificate issuance
SSH certificates require the device to trust the Controller's CA. See SSH Certificates for setup instructions.
Keyboard-Interactive
For devices that require multi-factor authentication or custom prompts, NetStacks supports keyboard-interactive authentication. The Terminal will display any prompts from the server and send your responses.
Jump Hosts & Proxies
Access devices through bastion/jump hosts when direct connectivity isn't available.
Configuring a Jump Host
- Open session settings (right-click tab → Session Settings)
- Navigate to Connection → Proxy
- Select SSH Jump Host
- Enter jump host connection details
- Configure authentication for the jump host
Multiple Jump Hosts
Chain multiple jump hosts for complex network topologies:
# Connection path:
# Your PC → Jump1 → Jump2 → Target Device
Jump Host 1: bastion.external.com (port 22)
Jump Host 2: internal-jump.dmz.local (port 22)
Target: router.core.local (port 22)SOCKS Proxy
NetStacks also supports connecting through SOCKS4/SOCKS5 proxies:
- Open session settings
- Navigate to Connection → Proxy
- Select SOCKS Proxy
- Enter proxy address and port
- Configure authentication if required
Jump hosts inherit their credentials from the credential vault. Define jump host credentials once and reuse them across sessions.
Connection Options
Fine-tune your SSH connections with these options:
SSH Options
| Option | Description | Default |
|---|---|---|
| Port | SSH server port | 22 |
| Connection Timeout | Time to wait for connection | 30 seconds |
| Keep Alive Interval | Send keep-alive packets | 60 seconds |
| Compression | Enable SSH compression | Off |
| Legacy Mode | Enable older algorithms for legacy devices | Off |
Terminal Options
| Option | Description | Default |
|---|---|---|
| Terminal Type | TERM environment variable | xterm-256color |
| Rows × Columns | Initial terminal size | Auto (fit window) |
| Scrollback | Lines to keep in buffer | 10,000 |
| Local Echo | Echo typed characters locally | Off |
Auto-Execute Commands
Run commands automatically when a session connects:
# Example: Auto-execute on Cisco IOS
terminal length 0
terminal width 200
# Example: Auto-execute on Linux
cd /var/log
alias ll='ls -la'Auto-execute commands are sent immediately after authentication. Ensure the commands are safe to run automatically.