TCP, kept simple
A direct client-server protocol built on POSIX sockets, with clear connection and command flows.
A focused C++17 remote shell that turns sockets, processes, authentication, and command execution into one readable system.
Easy Remote Shell Server v1.1.0
Loaded 1 user from data/users.txt
Mode: Multi-client (fork)
Mode: Command execution
Server listening on port 8080
Network: 10.255.255.254:8080
Local: 127.0.0.1:8080
Connect: ./client 10.255.255.254 8080
SIGCHLD handler installed for zombie reaping
Waiting for connection
Easy RSH is intentionally compact. Each subsystem is visible enough to study, modify, and reason about without hiding behind a framework.
A direct client-server protocol built on POSIX sockets, with clear connection and command flows.
Salted SHA-256 credentials and cryptographically random session tokens powered by OpenSSL.
Optional fork-per-client concurrency with automatic SIGCHLD cleanup and pipe-based output capture.
Quick answers for developers evaluating how Easy RSH works, where it runs, and what security assumptions it makes.
Easy RSH is a compact C++17 remote shell project that demonstrates command execution, sockets, authentication, and process management in a readable client-server codebase.
Easy RSH stores salted SHA-256 password records and uses OpenSSL-backed randomness for session tokens after login.
Easy RSH targets Linux and other POSIX-style environments because it relies on APIs such as fork, execvp, pipe, signals, and BSD sockets.
Yes. The server can run in a fork-per-client mode so each accepted client session is handled in its own child process.
No. It has authenticated access controls, but it should be treated as an educational or controlled-environment project rather than a hardened remote administration service for hostile networks.