MCPcopy Index your code
hub / github.com/eust-w/esh

github.com/eust-w/esh @1.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.1 ↗ · + Follow
41 symbols 85 edges 6 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🇨🇳中文

🎉Introduction

esh is a cross-platform SSH link management tool designed to simplify and streamline the process of managing multiple SSH connections.It is simple yet powerful!

📦FUnctionality

esh aims to provide a powerful yet user-friendly tool for managing SSH connections. Its key features include:

  • Centralized Management: Add, list, delete, and configure SSH connections from a single interface.
  • Security: Encrypts passwords and usernames/IP addresses using AES encryption
  • Convenience: Supports autocompletion, login auto-completion and key-based login for added security.
  • Automation: Run commands on multiple remote servers simultaneously, useful for managing clusters.

⚡Usage

It is particularly useful for developers and system administrators who frequently connect to various remote servers.

Installation

📜 Install from Source

The binary files are generated in the out directory.

📦 Download and Install

precompiled binaries for different platforms (Linux, Mac, Windows).

After downloading, you can run it directly from the command line.

Note: Please run it via the command line!

🌱Interaction

esh command descriptions:

sql复制代码  
  add         Add a new remote SSH connection
  cluster     Use this command to connect to remote SSH or execute commands across multiple SSH sessions
  completion  Generate autocompletion scripts for the specified shell esh commands
  del         Delete an existing SSH connection using its name.
  help        Get detailed information about any esh command.
  list        List remote SSH sessions
  run         Connect to a remote SSH or run a command on it.
  set         Configure global settings for esh.

➕Development

  1. Read information from Home/esh_config.yaml.
  2. Passwords and usernames/IPs can be encrypted using AES. There should be at least two AES keys for encryption and decryption. Randomly select one (using the current time as the random seed) for encryption. Decryption is determined by the initial identifier. A root account can view the plaintext password, however the password is a salted value compiled at build time.
  3. supports login auto-completion and requires entering a key for login, ensuring secure access.

Core symbols most depended-on inside this repo

Check
called by 7
ssh/run.go
GetGlobal
called by 6
yaml/io.go
GetConn
called by 3
yaml/io.go
NewServer
called by 2
ssh/run.go
Run
called by 2
ssh/run.go
ByteXor
called by 2
yaml/encrypt.go
GetCluster
called by 2
yaml/io.go
RunTerminal
called by 1
ssh/run.go

Shape

Method 22
Function 15
Struct 4

Languages

Go100%

Modules by API surface

yaml/io.go19 symbols
ssh/run.go6 symbols
ssh/client.go6 symbols
ssh/config.go5 symbols
yaml/encrypt.go3 symbols
main.go2 symbols

For agents

$ claude mcp add esh \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page