I am sending a file using SFTP and public key for non-root user, looks like the file is sent, but I cant find it on the target folder, maybe due to permission.
sftp> ls
sftp> put /tmp/testx
Uploading /tmp/testx to /folder1/target_folder
/tmp/testx 100% 5 0.0KB/s 00:01
sftp> get testx
Couldn't stat remote file: No such file or directory
File "/folder1/target_folder/testx" not found.
sftp> ls
sftp>
here is the -vvv :
debug3: SSH_FXP_REALPATH . -> /folder1
debug3: Looking up /tmp/file_to_send
debug3: Sent message sender_host 4 T:17 I:2
debug3: Wrote 80 bytes for a total of 2653
debug3: Received stat reply T:105 I:2
debug3: Sent message SSH2_FXP_OPEN I:3 P:/folder1/target_directory/file_to_send
debug3: Wrote 112 bytes for a total of 2765
debug3: Sent message SSH2_FXP_WRITE I:4 O:0 S:6206
debug3: Wrote 6288 bytes for a total of 9053
debug3: SSH2_FXP_STATUS 0
target directory
drw-rw-rw- 1 0 0 target_directory
How can I make sure the file is delivered, without server access ?
All you can do is to check that there are no errors, when uploading the file. That's all information the SFTP server gives you. With command-line OpenSSH sftp client, you can check its exit code (you need to use the -b switch).
The best you could do is run sha1sum via ssh against the remote file and see if that matches the same hash of the local file. A different tool such as scp or rsync may return an error code on transfer failure.
The SFTP protocol does a checksum on each 32KB packet as it is sent, and includes that checksum along with that packet. The receiver gets that packet and decrypts the data, and then verifies the checksum.
All you can do is to check that there are no errors, when uploading the file. That's all information the SFTP server gives you.
With command-line OpenSSH sftp
client, you can check its exit code (you need to use the -b
switch).
echo "put file.txt" | sftp -b - user@host
if [ $? -eq 0 ]
then
echo "File uploaded"
else
echo "File NOT uploaded"
fi
See also How to perform checksums during a SFTP file transfer for data integrity?
It's perfectly possible that the SFTP server does not allow you to download a file that you have just uploaded.
There are two common reasons for such behavior:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With