SFTP Permission Denied trying to open existing file.
Question:
Why did I get a permission denied error from the server when trying to open an existing file on the SSH/SFTP server? Here’s the LastErrorText:
ChilkatLog: DownloadFileByName: DllDate: Dec 2 2009 UnlockPrefix: *** Username: Administrator Component: ActiveX SshVersion: SSH-2.0-CoreFTP-0.1.2 SftpVersion: 3 PreserveDate: 0 fromFilePath: /test.dat.gz toFilePath: c:\abc\test.dat.gz OpenRemoteFile: filename: /test.dat.gz access: readOnly createDisposition: openExisting v3Flags: 0x1 Sent FXP_OPEN StatusResponse: Request: FXP_OPEN StatusCode: 3 StatusMessage: Permission denied SshLog: SFTP> Sending SSH_FXP_OPEN TRAN> CHANNEL_DATA TRAN* NumBytes: 59 TRAN< CHANNEL_DATA SFTP< Received SSH_FXP_STATUS timeToOpenMs: Elapsed time: 31 millisec totalTimeMs: Elapsed time: 31 millisec Failed.
Answer:
You are trying to download “/test.dat.gz” from the SSH/SFTP server. Some servers interpret the leading “/” as the root directory of the SSH user account. However, some servers interpret it as the root directory of the default drive (i.e. default filesystem). Your SSH/SFTP server is doing the latter. Your SSH/SFTP user account apparently does not have permission to read the root directory of the default filesystem, and therefore you get a “permission denied”. The solution is to download “./test.dat.gz” to clearly indicate that test.dat.gz is located in the HOME directory of the SSH/SFTP user account.