EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Does this sound like something SBB could do?

Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages
#4599
Posted: 12/31/2007 13:28:57
by Tony Caduto (Basic support level)
Joined: 12/31/2007
Posts: 23

Hi,
I currently have a server that has openSSH on it and of course it's darn near impossible to use virtual users with it.
I would like to replace the openSSH with something I can integrate into a backend user database(postgresql) I use for a existing web page used for https file transfer.

Does this sound like something I could do fairly easy with SBB?


Thanks,

Snorkel
#4600
Posted: 01/01/2008 04:03:56
by Eugene Mayevski (EldoS Corp.)

I am sorry about the late reply.

As I understand, you need an SSH server component which you can add into your (Windows or Linux?) application.

You can use SecureBlackbox for this. Please take SBB 6 beta 1 -- it includes certain improvements in SSH server sample. In SBB 5 the sample is to some extent broken.

I am not sure that I understand how HTTPS transfer and a web page is related to SSH.


Sincerely yours
Eugene Mayevski
#4601
Posted: 01/01/2008 10:14:54
by Tony Caduto (Basic support level)
Joined: 12/31/2007
Posts: 23

Quote
Eugene Mayevski wrote:
I am sorry about the late reply.

I am not sure that I understand how HTTPS transfer and a web page is related to SSH.


Hi,
Yes the server is currently Linux and it has the latest Mono version on it.
The current HTTPS web based transfer is related only in the fact we want to use it's user accounts for SSH/SFTP so we only have to create one account on the https web based solution and then the user can use the web based or SFTP/SCP to transfter files.
Currently we have to create a Linux Account with a separate password and then set that new users home directory to the directory the web based solution uses.

The web based system uses a file structure like this:
/companies/1001
where the 1001 is the users companyid in the PostgreSQL database, inside the 1001 directory we have TO and FROM folders.

We of course would also like to Chroot the user inside their directory when using SFTP or SCP.

The whole goal is to eliminate the need to create a Linux user account and sync the home directory so OpenSSH uses the same as the web based solution. The other issue is when the user changes their password in the web based transfer it of course does not change the users Linux Account.

Hope that explains it better :-)

#4602
Posted: 01/01/2008 13:15:13
by Eugene Mayevski (EldoS Corp.)

Yes, thank you for the detailed explanation.

SFTP server component (ElSFTPServer) provides SFTP for your activities. The SFTP server component links to SSH server component (ElSSHServer), which provides the SSH layer. Both components are included into SFTPBlackbox client-server package of SecureBlackbox.
ElSSHServer itself doesn't manage users and lets your code verify authentication. So you can manage the user accounts the way you like. ElSFTPServer doesn't access the files directly but calls the provided evet handlers, and this lets your code provide and restrict access to the files the way your like it.
Yes, such approach requires a bit more work than you would expect, but it gives you the necessary flexibility.


Sincerely yours
Eugene Mayevski
#4603
Posted: 01/01/2008 17:18:40
by Tony Caduto (Basic support level)
Joined: 12/31/2007
Posts: 23

Sounds like it would do everything I would need to replace the OpenSSH on the server.
I would also need to implement it as a console app that can be run as a daemon on Linux.
For such a task would the .net version on Mono be the best or should I be looking at the Object Pascal versions?

Thanks,

Tony
#4604
Posted: 01/02/2008 01:15:33
by Eugene Mayevski (EldoS Corp.)

Quote
Tony Caduto wrote:
For such a task would the .net version on Mono be the best or should I be looking at the Object Pascal versions?


Well, I'd say that .NET application with Mono deployment is easier to develop and debug but this is my personal opinion. There are no objective reasons to choose one over another - both options have their pros and cons.


Sincerely yours
Eugene Mayevski
#4608
Posted: 01/02/2008 10:11:12
by Tony Caduto (Basic support level)
Joined: 12/31/2007
Posts: 23

One more question.
Do you have any demos for Chrome? You developed the .net version with it right?

Also I would be interested in your opinion on Chrome, in particular do you feel it's a better way to go to .net for a Delphi developer than learning C#?

Thanks,

Tony
#4609
Posted: 01/02/2008 10:30:12
by Eugene Mayevski (EldoS Corp.)

Yes, we compiled SBB with Chrome, but we didn't make any samples with it due to very limited demand. Our user base (for SBB .NET) is 85% VB.NET and 15% C#.

We had experience with Chrome in it's early stages where we actually ported the existing code to Chrome. Chrome was in beta then and we worked closely with RemObjects on improving it. We submitted over 100 reports, I think. Now Chrome has version 2.0 so it's mature and reliable (as a compiler). I can't say anything about it's IDE integration into Visual Studio, though, as we don't use the integration now. We run command-line compiler and see the error output. Debugging is done from VS.NET IDE, but Chrome integration is not needed there.

Personally I would go C# route because it's compiled by Mono compiler and by .NET Framework. And it's standardized. Also C# is quite simple (as a language) and can be learned in a couple of days if you have any C++ knowledge.

On the other hand, if you strongly prefer pascal syntax, Chrome will be a good choice because they add new language features for easy programming with each release, and Chrome's compiler can be run under .NET Framework and Mono. And you can try to port your pascal application to Chrome with ifdef's, without the need to completely rewrite the code. This can be important if you use lots of specialized code already written in Pascal.

If I were to start a new .NET project today, I don't know what I would choose :). It would depend on whether I need or might need to make this application native (c# won't ever go native, with Chrome it's easier), whether I need to use the existing pascal code and who else is going to write on the project (it's easier to find C# developers than Chrome ones ;).


Sincerely yours
Eugene Mayevski
#4611
Posted: 01/02/2008 11:52:24
by Tony Caduto (Basic support level)
Joined: 12/31/2007
Posts: 23

Hi Eugene,
I have one more question for you.
I noticed in the C# demo for the SSH server you are using regular .net sockets and then passing the socket to the SSH session running in a thread.
My question is for the VCL version can I use Synpase for the transport and then just pass the socket to a thread with a SSH session inside? Just wondering because I have a bunch of Synpase code that I could reuse for this if that is the case.

Thanks,

Tony
#4612
Posted: 01/02/2008 12:13:56
by Eugene Mayevski (EldoS Corp.)

Quote
Tony Caduto wrote:
noticed in the C# demo for the SSH server you are using regular .net sockets and then passing the socket to the SSH session running in a thread.
My question is for the VCL version can I use Synpase for the transport and then just pass the socket to a thread with a SSH session inside?


I don't see why this would cause problems. The Delphi sample uses delphi sockets, which internally do the same.


Sincerely yours
Eugene Mayevski
Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages

Reply

Statistics

Topic viewed 5295 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!