Configuration Guide¶
This guide covers configuring SSH Tools Suite for optimal performance and security.
Application Settings¶
Initial Setup¶
On first launch, the SSH Tunnel Manager will create default configuration directories:
- Windows:
%APPDATA%\SSHTunnelManager\ - Linux:
~/.config/SSHTunnelManager/ - macOS:
~/Library/Preferences/SSHTunnelManager/
Configuration Files¶
The application stores settings in the following files:
SSHTunnelManager/
├── settings.ini # Application preferences
├── tunnels.json # Tunnel configurations (backup)
└── logs/ # Application logs
├── application.log
└── tunnel_*.log
SSH Configuration¶
SSH Client Setup¶
Windows¶
Windows 10/11 includes OpenSSH by default. Verify installation:
If not available, install via Windows Features or download from OpenSSH for Windows.
Linux¶
Most distributions include OpenSSH client:
# Ubuntu/Debian
sudo apt install openssh-client
# CentOS/RHEL
sudo yum install openssh-clients
# Fedora
sudo dnf install openssh-clients
macOS¶
OpenSSH is pre-installed. Update via Homebrew if needed:
SSH Key Configuration¶
Default Key Locations¶
The application searches for SSH keys in standard locations:
~/.ssh/
├── id_rsa # RSA private key
├── id_rsa.pub # RSA public key
├── id_ed25519 # ED25519 private key
├── id_ed25519.pub # ED25519 public key
├── id_ecdsa # ECDSA private key
├── id_ecdsa.pub # ECDSA public key
├── authorized_keys # Authorized public keys
├── known_hosts # Known host keys
└── config # SSH client configuration
SSH Client Configuration¶
Create or edit ~/.ssh/config for default settings:
# Global defaults
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
StrictHostKeyChecking ask
UserKnownHostsFile ~/.ssh/known_hosts
# Specific host configuration
Host myserver
HostName server.example.com
User admin
Port 22
IdentityFile ~/.ssh/id_ed25519
LocalForward 8080 localhost:80
Application Preferences¶
GUI Settings¶
Theme and Appearance¶
Behavior Settings¶
[behavior]
minimize_to_tray=true
auto_start_tunnels=false
confirm_deletions=true
save_window_state=true
Logging Configuration¶
[logging]
level=INFO # DEBUG, INFO, WARNING, ERROR
max_log_size=10485760 # 10MB
backup_count=5
log_to_file=true
Security Settings¶
Authentication Preferences¶
Key Management¶
Network Configuration¶
Firewall Settings¶
Windows Firewall¶
Allow SSH Tunnel Manager through Windows Defender Firewall:
- Open Windows Security
- Go to Firewall & network protection
- Click "Allow an app through firewall"
- Add SSH Tunnel Manager executable
Linux Firewall (UFW)¶
Proxy Configuration¶
If behind a corporate proxy, configure SSH to use it:
Performance Tuning¶
Connection Optimization¶
SSH Keep-Alive Settings¶
# In tunnel configuration or ~/.ssh/config
ServerAliveInterval 30
ServerAliveCountMax 3
TCPKeepAlive yes
Connection Multiplexing¶
Resource Limits¶
Maximum Tunnels¶
The application can handle multiple concurrent tunnels, but consider:
- System resources: Each tunnel uses ~10-20MB RAM
- Network bandwidth: Multiple tunnels share network capacity
- SSH server limits: Target servers may limit connections
Port Range Configuration¶
Use ports 1024-65535 for local forwarding to avoid privilege requirements:
Import/Export Settings¶
Configuration Backup¶
Automatic Backup¶
The application automatically backs up configurations:
[backup]
auto_backup=true
backup_interval=24 # hours
max_backups=7
backup_location=auto # auto, custom path
Manual Backup¶
Export all settings and configurations:
- File → Export → Complete Backup
- Includes:
- Tunnel configurations
- Application settings
- SSH key references (not private keys)
Migration Between Systems¶
Export from Source System¶
# Export configurations
ssh-tunnel-manager export --output=tunnels.json
# Copy SSH keys
cp -r ~/.ssh /path/to/backup/
Import to Target System¶
# Copy SSH keys first
cp -r /path/to/backup/.ssh ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
# Import configurations
ssh-tunnel-manager import --input=tunnels.json
Troubleshooting Configuration¶
Common Issues¶
"Configuration Not Saved"¶
- Check file permissions in config directory
- Ensure adequate disk space
- Verify application has write access
"SSH Keys Not Found"¶
- Check key file permissions (should be 600)
- Verify key path in configuration
- Ensure SSH agent is running (if using agent)
"Settings Reset on Restart"¶
- Check if configuration directory is read-only
- Verify no conflicting settings files
- Check for permission issues
Debug Configuration¶
Enable debug logging:
View logs:
# Windows
type %APPDATA%\SSHTunnelManager\logs\application.log
# Linux/macOS
tail -f ~/.config/SSHTunnelManager/logs/application.log
Reset Configuration¶
Partial Reset¶
- Settings → Reset to Defaults
- Keeps tunnel configurations, resets preferences
Complete Reset¶
# Backup first
cp -r ~/.config/SSHTunnelManager ~/ssh-tunnel-backup
# Remove configuration
rm -rf ~/.config/SSHTunnelManager
# Restart application
Advanced Configuration¶
Custom SSH Command¶
Override default SSH command:
Environment Variables¶
The application recognizes these environment variables:
# SSH configuration
export SSH_AUTH_SOCK=/path/to/ssh-agent
export SSH_AGENT_PID=12345
# Application settings
export SSH_TUNNEL_MANAGER_CONFIG=/custom/config/path
export SSH_TUNNEL_MANAGER_DEBUG=1
Integration with External Tools¶
SSH Agent Integration¶
# Start SSH agent
eval $(ssh-agent)
# Add keys
ssh-add ~/.ssh/id_ed25519
# Configure application to use agent
Terminal Customization¶
[terminal]
# Windows
terminal_command=wt.exe
# Linux
terminal_command=gnome-terminal
# macOS
terminal_command=open -a Terminal
Next Steps¶
- Creating Tunnels - Set up your first tunnel
- SSH Key Management - Advanced key handling
- Troubleshooting - Solve common issues