Private key password for sftp object?

6 views (last 30 days)
Garrett Good
Garrett Good on 8 Sep 2022
Edited: Garrett Good on 1 Sep 2024
Hello, Matlab2021 has an sftp object like the old ftp object. That can be used with either password authentication or a public and private key (see help sftp).
Our private key however has a password. The matlab "connection" object can handle this, but there doesn't seem to be a way to pass this to the sftp object and my connection is rejected...
Anyone know how to do this?
(We were previously using the ssh2 toolbox from the fileexchange but this has some problems for us).
Thanks in advance.

Answers (1)

Vidip Jain
Vidip Jain on 27 Sep 2023
I understand you want to use a private key with a password for SFTP authentication in MATLAB 2021, you can use the following steps to do the same:
  1. Create a ‘connection’ object to the SFTP server.
  2. Set the ‘PrivateKeyFile’ and ‘PrivateKeyPassword’ properties of the connection object.
  3. Create a ‘sftp’ object using the ‘connection’ object.
The ‘connection’ object can be used to manage the SSH connection to the SFTP server. The ‘connection’ object can also be used to specify the private key file and password.
For further information, refer to the documentation links below:
  3 Comments
Walter Roberson
Walter Roberson on 31 Aug 2024
Why not use the syntax
s = sftp(host,user,"PublicKeyFile",publickeyfile,"PrivateKeyFile",privatekeyfile) %uses the key files at the specified locations.
Garrett Good
Garrett Good on 1 Sep 2024
Edited: Garrett Good on 1 Sep 2024
Thank you for your response, Walter.
My ssh understanding is limited but it seems there are more than the 2 possiblities supported by Matlab.
  1. username+password
  2. public + private key pair.
We do not have a keypair, but rather a private key from a client with a passphrase. We can connect via sftp in a terminal with just the private key and this works. We can also decrypt the key and avoid the password query. Matlab's sftp will only accept a private key as part of a pair and generating a public key from this private one also has not worked (connection is refused).
We used to use this https://www.mathworks.com/matlabcentral/fileexchange/35409-ssh-sftp-scp-for-matlab-v2, which can connect, but now it doesn't like our drivers, and was always quite difficult as compared to a matlab ftp object, in particular, as it's missing a "dir" command.

Sign in to comment.

Categories

Find more on Search Path in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!