ftp over ssh (client and server side)

0 votes
asked Aug 22, 2015 by rebwar.karimi (140 points)

hello
excuse me
i am going to write a proxy to transfer file (ftp over ssh) in client side and server side,my mean is i have to write client side and server side of the program like a real proxy to transfer file over ssh ,and this is for my homework for university can you guide me please
thanks so much

Applies to: Rebex FTP/SSL

2 Answers

0 votes
answered Aug 24, 2015 by Tomas Knopp (58,580 points)

Hello,

FTP over SSH is very rare and practically not used due to the nature of the FTP protocol. Didn't you mean the SFTP protocol that is usually used to transfer files over SSH? We have an article where you can learn more about FTP and SFTP protocols.

Moreover, could you please explain what you mean by the "proxy" in your description?

Do you have to write a simple SFTP client and SFTP server as I understand it, or do you need some kind of SSH tunneling program?

If you need to write SFTP client and server in C#, you could download our free 30-day trial of Rebex File Transfer Pack for .NET (it contains classes for both SFTP client and server) and then either look into the source code of our sample projects and get inspired:

For SFTP client there are for instance these sample projects:
- SFTP Console Client or Winform SFTP client

For SFTP server there is the File Server Winform sample project.

Or alternatively, there is a lot of ready to use code snippets in both C# and Visual Basic available for Rebex SFTP client and Rebex File Server.

commented Aug 24, 2015 by rebwar.karimi (140 points)
my mean is a program like Ultrasurf proxy  software my program must have client and server and client is for listen on a port like 9000 and set IE software to forward request to this port and through my proxy software forward the IE request and i have to before send and request my client and my server parts must establish a SSH channel.
0 votes
answered Aug 25, 2015 by Lukas Pokorny (88,510 points)

According to your comment, it looks like this is what you would like to achieve:

IE ---> proxy client ---> proxy server ---> Internet

(Where the proxy client and server use SSH to communicate.)

But how does FTP and file transfer fit into this solution? IE does not support uploading files over FTP or SFTP...

But let's look at the two custom parts more closely:

  1. The "proxy server" - any capable third-party SSH server can be used here. We do provide an SSH server library as well, but it doesn't support tunneling yet (an essential part of the solution).

  2. The "proxy client" - our SSH libraries can be used to forward traffic to/from the "proxy server" using an SSH channel. But in addition to this, you would also need to provide a protocol IE can use to communicate with the "proxy client" (which acts like a proxy server to the IE). SOCKS4/SOCKS5 protocols look like the best choice - IE supports them and they are quite simple.

...