SSH/SFTP/SCP For Matlab (v2)
Updated 20 Aug 2018
A new Matlab interface for using the Ganymed-SS2 Java library. Renamed commands are improved for limitations of existing Matlab/SSH2 codebase (see inspired submissions) using a straightforward command list.
If you need to access a remote machine from your Matlab session (for near-real time data transfer etc...) this set of functions allows you to send commands and obtain the return values. SFTP and SCP file transfer functions are included. Supports public key authentication and improved multiple command support.
This requires the open-source Ganymed SSH-2 for Java that is freely available and automatically included in the zip file. For SFTP-GET, one must use the included custom Ganymed SSH-2 Java library that is compatible with Matlab.
See ssh2-examples.m for documentation.
FOR SUPPORT, PLEASE CONTACT AUTHOR DIRECTLY instead of posting to "Comments and Ratings" first. Helpful information or comments can be posted after communication to ensure useful information for others instead of a ballooning of failed SSH/SFTP/SCP connection info in the comments.
#1 Problem with connections is software firewall on Matlab machine preventing Java from making connections. If you're able to connect with the same machine, please check for this.
#2 Problem is supported authentication on ssh-server. Please see the Ganymed-SSH2 faq for more information. http://www.ganymed.ethz.ch/ssh2/FAQ.html
Additionally, I would love to hear about how and where you're using this submission in the comments section.
David Freedman (2023). SSH/SFTP/SCP For Matlab (v2) (https://www.mathworks.com/matlabcentral/fileexchange/35409-ssh-sftp-scp-for-matlab-v2), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: SSH From Matlab (updated) + SFTP/SCP, SSH, SFTP/SCP from Matlab with Public Key Authentication
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Updated Description removing the comments about non-custom ganymed library.
Per Mathworks requirements all .zip files have been removed. The default of using the custom ganymed-ssh2 library for SFTP-GET is now on.
Bug fix for SFTP-Put
Uploaded wrong file for r5 (didn't include SSH2 library)
Includes Ganymed-250 library as it can no longer be downloaded from http://www.cleondris.ch/
- BugFix: Added filename separator check for SFTP-GET which would error when downloading a unix filename.
Created a custom Ganymed SSH-2 Java library (now included in attachment) that is compatible with the way Matlab handles Java byte arrays. This is needed to support SFTP-GET functionality. Default behavior still uses official Ganymed library.
Made change to ssh2_config.m to account for Matlab's array size version dependence of the dynamic java classpath.
Bug fix that Jon Douglass identified. correct check for java library being loaded.