sshx is a lightweight command-line SSH connection manager designed to make it easy to create, store, update, and launch SSH connections. All connection data is stored locally as JSON files, without relying on external services.
-
Create and manage named SSH connections
-
Store multiple servers with user, host, and port settings
-
Update or delete existing connections
-
Launch SSH sessions using a simple command:
sshx connect <name>
-
JSON-based local storage under the user’s AppData directory
-
Minimalistic and fast CLI built with
.NET
git clone https://github.com/DrSa1fer/sshx.git
cd sshx
dotnet build -c ReleaseThe built binary will be located in:
./bin/Release/<framework>/sshx
sshx stores all connections in:
%AppData%/sshx/connections/
Each connection is stored as an individual JSON file.
A stored connection looks like this:
{
"Name": "my-server",
"User": "root",
"Host": "192.168.1.10",
"Port": 22
}sshx connect <name>sshx create <name> <user> <host> [--port PORT]sshx update <name> [--user USER] [--host HOST] [--port PORT]sshx delete <name>sshx show <name>sshx listsshx/
├── Connections/
│ ├── Connection.cs
│ ├── CreateConnectionRequest.cs
│ ├── UpdateConnectionRequest.cs
│ ├── IConnectionRepository.cs
│ └── Json/
│ ├── JsonConnectionRepository.cs
│ ├── JsonConnectionRepositoryOptions.cs
│ ├── ConnectionFileInfo.cs
│ ├── JsonFileInfo.cs
│ └── SourceGenerationJsonSerializerContext.cs
├── Program.cs
├── sshx.csproj
└── README.md
This project is licensed under the GNU General Public License (GPL).
See the LICENSE file for details.