Here is the promised Rebex SFTP beta version with the Sftp.GetRemoteChecksum method. You can retrieve the remote checksum like this:
Sftp sftp = new Sftp();
// connect, login, upload file, ...
// compute the remote checksum (SHA256)
string checkSumSha256 = sftp.GetRemoteChecksum(Rebex.ChecksumAlgorithm.SHA256, file);
If you want to check that a file has been uploaded correctly, just check that that the checksum of the uploaded file actually matches the expected checksum computed on the source file.
Please note that only some SFTP servers support the 'check-file' extension that this method utilizes (for instance Cerberus SFTP server does support it). If your server does not support the extension, you can still use the SshChannel.RequestExec
method to execute the remote command to calculate the checksum of the file at the server (see a code example to issue a remote exec command).