SSHgate tunneling daemon Code
Status: Beta
Brought to you by:
gringoli
File | Date | Author | Commit |
---|---|---|---|
COPYING | 2008-05-14 | gringoli | [r3] |
FAQ | 2008-05-14 | gringoli | [r8] |
INSTALL | 2008-05-14 | gringoli | [r8] |
Makefile.in | 2008-06-16 | gringoli | [r12] |
README | 2008-05-14 | gringoli | [r8] |
configure | 2008-05-27 | gringoli | [r10] |
configure.ac | 2008-05-27 | gringoli | [r10] |
gw_bckend_list.cpp | 2008-05-14 | gringoli | [r4] |
gw_bckend_list.h | 2008-05-13 | gringoli | [r1] |
gw_common.cpp | 2008-05-27 | gringoli | [r10] |
gw_common.h | 2008-06-16 | gringoli | [r12] |
gw_conntrack.cpp | 2008-06-16 | gringoli | [r12] |
gw_conntrack.h | 2008-06-16 | gringoli | [r12] |
gw_list.cpp | 2008-05-13 | gringoli | [r1] |
gw_list.h | 2008-05-13 | gringoli | [r1] |
gw_list_test.cpp | 2008-05-13 | gringoli | [r1] |
gw_list_test2.cpp | 2008-05-13 | gringoli | [r1] |
gw_main.cpp | 2008-06-16 | gringoli | [r12] |
gw_netio.h | 2008-06-16 | gringoli | [r12] |
gw_netio_linux.cpp | 2008-06-16 | gringoli | [r13] |
gw_netio_osx.cpp | 2008-06-16 | gringoli | [r12] |
gw_netio_test.cpp | 2008-06-16 | gringoli | [r12] |
gw_netio_test2.cpp | 2008-06-16 | gringoli | [r14] |
gw_packet.cpp | 2008-06-16 | gringoli | [r12] |
gw_packet.h | 2008-06-16 | gringoli | [r12] |
gw_packet_test.cpp | 2008-05-13 | gringoli | [r1] |
gw_signal.cpp | 2008-05-13 | gringoli | [r1] |
gw_signal.h | 2008-05-13 | gringoli | [r1] |
gw_ssh.cpp | 2008-05-27 | gringoli | [r10] |
gw_ssh.h | 2008-05-27 | gringoli | [r10] |
gw_tcb.cpp | 2008-05-13 | gringoli | [r1] |
gw_tcb.h | 2008-06-16 | gringoli | [r12] |
patchopenssh | 2008-05-27 | gringoli | [r11] |
SSHgate is a small daemon that transparently routes packets across SSH encrypted tunnels. SSHgate daemon transforms the hosting server into a special, security targeted, router. TCP packets with selected destinations are transparently tunneled into SSH channels between the host running SSHgate and a remote OpenSSH server. Whenever a SYN packet toward one of the selected destinations is received by SSHgate, a new SSH connection is established: the new SSH connection is properly configured to tunnel packets in such a way that the remote SSH server can send them to the actual destinations. SSH connections are managed by SSHgate without user intervention: to enable concurrent transparent tunneling of several TCP sessions, packets are masqueraded by SSHgate before they are sent on the encrypted SSH tunneling channel. To limit the number of different SSH channels, TCP sessions toward the same pair (IP, Port) are multiplexed inside a unique SSH channel. The SSH enabled router set up by SSHgate can route both packets generated on the LAN by neighboring hosts or locally generated. At this stage of the development, SSHgate runs on Linux 2.6 and OSX Leopard. On both architectures it runs exclusively in user space using no kernel facilities for packet masquerading and manipulation. On Linux packets are received through a PF_PACKET socket; on OSX, instead, BPF sockets are used. Packets are sent using a PF_INET, SOCK_RAW socket on both architectures. Please send questions to: sshgate@ing.unibs.it Regards, Francesco Gringoli