simple tool which opens a persisent ssh tunnel on the client-side to a specified target orchestrator, forwarding the client's ssh port. mainly for accessing machines which do not have forwarded ports
Go to file
2024-06-09 14:08:30 -04:00
go.mod Written a start mostly using 'water' and 'netlink' libraries to form 2024-06-07 18:29:53 -04:00
go.sum Written a start mostly using 'water' and 'netlink' libraries to form 2024-06-07 18:29:53 -04:00
LICENSE Initial commit 2024-06-02 11:49:24 -04:00
main.go undid some redundant code and removed most work setting up a tun device 2024-06-09 14:08:30 -04:00
README.md Update README.md 2024-06-02 11:59:11 -04:00

ssh-client-orchestrate

simple tool which opens a persisent ssh tunnel on the client-side to a specified target orchestrator, forwarding the client's ssh port. mainly for accessing machines which do not have forwarded ports

General idea: theres a main orchestrate server you initialize on a given host, which does have its ssh port forwarded to the internet. Then, you provide clients with a server to register with by giving a hostname and a port to forward to the machine.
This will fail if the client does not have a key-pair with the server.
Then it handshakes with the server and asks the server software to make an entry in /etc/hosts for it. the server then keeps track of the newly-registered client and periodically connects to check if its alive.