wodSSHTunnel component is secure tunneling (based on SSH protocol) component
||26 March, 2013
wodSSHTunnel component is server-type component that will add secure tunneling (based on SSH protocol) capabilities to your application. Based on your rules and definitions, it will accept local connections, encrypt it and forward to SSH server (where they will be decrypted and sent to destination host). SSH server is required for this component to work - encryption will take place between local computer (running wodSSHTunnel) and SSH server of your choice.
It can work in both sides - it can accept local connections and forward them to the server, or can initiate connections towards local services when notification is received from SSH server for 'remote port forwarding' request - based on your previous request.
Basically, to understand what happens: instead of using direct connections to the server, through insecure internet,you would connect to your SSH server using encrypted connection, and SSH server would connect to services you require. Usually, most of those services will reside on same server as SSH server, or will be in protected network.
Also, not only it will secure connections - but it will also allow you to create VPN to your services.
How does it work?
You setup any number of Channels - these are objects that will keep information about specific port forwarding request. For example, you can create Channel that will listen on local port 80, and forward all requests to SSH server on his port 80. After you Start that channel, you can try to connect using your web browser to http://localhost and you should see web contents as held on SSH server. Cute, isn't it?
After Channel is created and started, it will accept Users. Each channel stores collection of users connected to it.Once new User tries to connect to the channel, you will receive event where you can allow or deny user to use secure channel - once again, it's your decision. If you allow user to connect and use channel, everything is done by wodSSHTunnel, and you don't need to do anything else