The Co:Z FTP-SSH Proxy is a Java application that is started as a "daemon" process, typically on the same machine as the client FTP application. It will listen on a specified TCP/IP interface and port for SOCKS requests from FTP clients. The proxy can support multiple simultaneous users and connections.
To start the Co:Z FTP-SSH Proxy from a Unix shell:
> cd /usr/local/ftpsshproxy
> ./ftpsshproxy.sh -h 127.0.0.1:1080
ProxyServer - Co:Z FTP-SSH Proxy - version: 0.1.0
ProxyServer - Copyright (C) Dovetailed Technologies, LLC. 2008. All rights reserved.
ProxyServer - listening on 127.0.0.1:1080
When an FTP client connects via the proxy to an FTP server, the Co:Z FTP-SSH Proxy log will show:
ProxyConnection[/127.0.0.1:49108] - proxy negotiated to /192.168.0.105:21
FtpControlSession[/127.0.0.1:49108] - client login accepted for userid "kirk"
FtpControlSession[/127.0.0.1:49108] - SSH control channel started to 192.168.0.105:21
FtpControlSession[/127.0.0.1:49108] [/192.168.0.105:21] - server login accepted for userid "kirk"
Once connected, the FTP session can be used normally. When the FTP client issues a command that requires a data connection (dir, put, get, etc):
FtpControlSession[/127.0.0.1:49108] [/192.168.0.105:21] - server registered passive port: 5101
ProxyConnection[/127.0.0.1:49110] - proxy negotiated to /192.168.0.105:5101
FtpControlSession[/127.0.0.1:49110] - SSH data channel started to 192.168.0.105:5101
When the FTP client disconnects:
FtpControlSession[/127.0.0.1:49108] [/192.168.0.105:21] - disconnected SSH
ProxyConnection[/127.0.0.1:49108] [/192.168.0.105:21] - control connection closed