A terminal UI for managing and launching SFTP connections, built with Bubble Tea.
⌁ sftpman SSH File Transfer Manager
────────────────────────────────────────
3 connections
production-web ubuntu@203.0.113.10 ⚿ key
▌ staging deploy@10.0.1.5:2222
backups admin@backup.local ● pwd
enter connect · ctrl+n new · ↑/↓ navigate · ctrl+c quit
- Browse all saved SFTP connections with keyboard navigation.
- Press Enter to launch the native
sftpbinary — the TUI suspends cleanly and resumes when you exit. - Press ctrl+n to open an in-app form to add a new connection.
- Config is a plain YAML file you can also edit directly.
- Supports key-path (
-i) auth; if no key is setsftphandles authentication itself (e.g. interactive password prompt, SSH agent).
git clone <repo>
cd sftpman
go build -o sftpman .Or install to your $GOPATH/bin:
go install .sftpman [--config /path/to/connections.yaml]
If --config is omitted, the config file is loaded from (or created at):
| OS | Default path |
|---|---|
| Linux | ~/.config/sftpman/connections.yaml |
| macOS | ~/Library/Application Support/sftpman/connections.yaml |
| Windows | %AppData%\sftpman\connections.yaml |
connections:
- name: production-web
host: 203.0.113.10
port: 22
username: ubuntu
key_path: ~/.ssh/id_ed25519
- name: staging
host: 10.0.1.5
port: 2222
username: deploy
- name: backups
host: backup.local
port: 22
username: adminFields:
| Field | Required | Description |
|---|---|---|
name |
✓ | Display label shown in the list |
host |
✓ | Hostname or IP address |
port |
Defaults to 22 |
|
username |
✓ | SSH username |
key_path |
Path to private key (~/.ssh/id_rsa, etc.). If omitted, sftp handles auth itself (SSH agent, interactive prompt). |
| Key | Action |
|---|---|
↑ / k |
Move cursor up |
↓ / j |
Move cursor down |
g |
Jump to top |
G |
Jump to bottom |
Enter |
Connect |
ctrl+n |
Open new-connection form |
ctrl+c |
Quit |
| Key | Action |
|---|---|
↑/↓ or Tab |
Move between fields |
Enter |
Next field / save on last |
ctrl+s |
Save immediately |
Esc |
Cancel, back to list |
- charmbracelet/bubbletea — TUI framework
- charmbracelet/bubbles — text input components
- charmbracelet/lipgloss — styles & layout
- gopkg.in/yaml.v3 — config serialisation