ILEditor
ILEditor copied to clipboard
Connection over SSH/SFTP instead of FTP
Hi
It has been brought to my attention that the implementation of SSH & SFTP into ILEditor as the connection type is actually fairly straight forward. I have been able to change some parts of the editor to use SSH & SFTP and it works perfectly (and faster in some cases).
There are benefits to using SSH/SFTP too.
- Real support for every EBCDIC encoding. Right now, FTP limits us to ASCII unless we switch around with some FTP settings.
- Better performance (plus processing multiple things at once)
- More secure
- It may possibly be easier to implement the SRCDTA retaining issue (although this is not a top priority for me)
This is not a small change though. Here is a list of things that I think will need changing:
- Connection settings UI
- Library list window to actually update the users JOBD (since using SSH will spawn a new job for every command submitted)
- New window for the user to create a job description.
- Refactor of error handling
- Refactor of IBMi.cs and IBMiUtils.cs
In fact, there could be a lot of changes that a complete refactor of the whole project has been on my mind.
Sadly, this is a lot of work and not something I can dedicate a lot of my time too right now. I can dedicate more time if people think this is important.
- If it's important to you, react 👍
- If it's not, react 👎
Please also leave any further constructive thoughts or ideas you have below.
Thanks, Liam Barry 😃
It's absolutely the right way to go and should be the highest priority
IMO, You are looking at a couple of different issues.
The use of secure communication is probably a must nowadays and use of SFTP/SSH is one avenue for that.
The CCSID handling and SRCDAT are different issues but need additional base support for them to happen and you could address these subsequent to secure communications support.
Might I add the possibility of DDM into the mix as per the blog. It can provide SSL connections , CCSID conversion handling and access to SRCDAT/SRCSEQ fields as well. I've done a POC for DDM connections using the jtopenlite jar file for use in .Net via IKVM. Admittedly it does not yet address the other concerns but the functionality is there to progress.
@danielgoodwin
Thanks for your response. Agreed about the use of a secure communication. I've just been taking a look at your fork and I think the use of the IBMiTransport interface will solve a few issues - we can then perhaps let the user choose the connection type they want to use (including your DDM implementation!). How exciting!
All I am saying is that it seems that using SFTP over FTP might be a good option for the future - in fact, I'd be quite happy with deprecating the FTP method in ILEditor once DDM or SSH is more stable.
All the best, Liam
I think secure FTP is absolutely the way to go by default. However, I think deprecating FTP entirely would be a misstep. As much as it's not ideal, there's still a lot of boxes out there that I run into that FTP would be the only method available to use ILEditor.
I can help with IBMi.cs and IBMiUtils.cs, if you like.I've explored the issue and found sftp and ftps lacking the foundational feature for ile Editor ..."quote rcmd" so it need to be replaced by ssh and scp the problem being the lack of "auto translation" of text files. What about ILE Editor 2 ? I've read somewhere that was going to be web based, is that true?. What are your plans with Ile Editor 2?
@sanotto Thanks for your reply!
- Auto translation (EBCDIC -> UTF8 and vice-versa) is not a problem as I have resolved that issue over SSH.
quote rcmdis so useful with FTP because it all runs in the same job. You can use thesystemcommand over SSH, but that runs each command in a new job - so there needs to be some changes about how we handle library lists and home directories (which is a non-issue).
ILEditor 2 is a closed source project (https://ileditor.online) which is a re-write of ILEditor but in Electron and also cross-platform. It is not yet released.
@worksofliam have you given this any more thought? or have any of the forks been able to get SSH/SFTP functional working? Would love to see this feature implemented.