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
JAMES RYAN 84d8f580b3 Written a start mostly using 'water' and 'netlink' libraries to form
a basic TUN interface. Doesn't really work, since the tunnel gets formed
but nothing can properly bind to it.
I should probably rethink what i'm doing before moving forward lol

Signed-off-by: JAMES RYAN <james.paul9889@gmail.com>
2024-06-07 18:29:53 -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 Written a start mostly using 'water' and 'netlink' libraries to form 2024-06-07 18:29:53 -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.