explaingit

candratama/tamagosh

11GoAudience · ops devopsComplexity · 2/5ActiveSetup · easy

TLDR

Terminal SSH connection manager in Go with a built-in two-pane SFTP browser, AES-256-GCM encrypted password storage, and ed25519 key generation.

Mindmap

mindmap
  root((tamagosh))
    Inputs
      Saved server entries
      SSH key files
      Encrypted passwords
    Outputs
      SSH sessions
      File transfers
      Generated ed25519 keys
    Use Cases
      Manage many SSH servers
      Browse remote files
      Edit remote files locally
      Generate SSH keys
    Tech Stack
      Go
      sshpass
      AES-256-GCM
      SSH

Things people build with this

USE CASE 1

Manage a list of SSH servers with passwords stored locally and encrypted with AES-256-GCM

USE CASE 2

Open a Norton Commander style SFTP browser to copy files between local and remote with progress bars

USE CASE 3

Generate fresh ed25519 SSH keys from inside the terminal app

USE CASE 4

Edit remote files in your local editor with automatic download and re-upload

Tech stack

GoSSHSFTPsshpass

Getting it running

Difficulty · easy Time to first run · 5min

Single go install command, but password mode also needs the sshpass tool installed separately.

In plain English

Tamagosh is a terminal program for managing SSH connections to remote servers. It is written in Go and shows your saved servers in a list, where you can add, edit, delete, or filter them with single key presses. Hitting Enter on a connection opens an SSH session right there in the terminal. Passwords are saved locally and encrypted with AES-256-GCM, so you do not need a separate password store, GPG, or a system keyring. Each connection can use either a password or an SSH key. Password mode needs the sshpass tool installed, and the password is injected at connect time rather than typed manually. SSH key mode points at a private key file on disk, and if the key has a passphrase, that passphrase is also encrypted locally and fed to ssh through SSH_ASKPASS, so it never appears in the process arguments. Pressing K in the list lets you generate a fresh ed25519 key from inside the app, with the public and private files written into the config directory at the right permissions. A built-in SFTP browser opens with the f key. It shows two panes, one for your local machine and one for the remote server, in a Norton Commander style. You can copy files or entire folders with a real byte level progress bar, multi-select with the space bar, rename, delete, make directories, change file modes, jump to a path, sort, toggle hidden files, and bookmark folders per connection. Pressing e opens any file in your editor, and for remote files Tamagosh downloads the file to a temporary location, lets you edit it, then re-uploads it if you saved changes. Installation is one command, go install github.com/Candratama/tamagosh@latest, plus optionally sshpass for password mode. The first run creates the configuration directory under ~/.config/tamagosh, including the encryption key file with mode 0600. The program is a single static binary with no Python or Node dependencies, supports mouse clicks and scroll wheel inside the terminal, and uses the Gruvbox material dark hard color palette. The README also mentions auto-migration from an older config path used by an earlier name of the same project.

Copy-paste prompts

Prompt 1
Install tamagosh with go install and add my first SSH server with a key based connection
Prompt 2
Show me how tamagosh encrypts saved passwords and where the AES key file lives on disk
Prompt 3
Open the SFTP browser in tamagosh and copy a folder from a remote server with a progress bar
Prompt 4
Generate a new ed25519 key from inside tamagosh and explain where the public and private files end up
Prompt 5
Configure tamagosh to use sshpass for password connections and confirm passwords never appear in process args
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.